连接到 Sequel Pro 遇到 Homestead 问题

Connecting to Sequel Pro with Homestead issues

我一直在此处和 GitHub 上查看有关此问题的很多答案,但无论我尝试什么,总是有问题。我也不明白为什么有时使用相同的凭据我能够连接其他时候我什至无法做到这一点。

所以现在我收到以下错误:

"SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known

我无法连接:

我的 .env 凭据:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

我的database.php

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST'),
            'port' => env('DB_PORT'),
            'database' => env('DB_DATABASE'),
            'username' => env('DB_USERNAME'),
            'password' => env('DB_PASSWORD'),
            'unix_socket' => env('DB_SOCKET'),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => false,
            'engine' => null,
        ],

...对于标准连接,我使用 192.168.10.10 作为主机。

我认为您的问题与 DB_HOST 参数有关。我包括了一个完整的解释。您的修复可能是最后一段的一部分!

Laravel 随附 .env.example 配置为连接到开箱即用的 Homestead MySQL。假设你 运行 Homestead 中的所有东西,并且 Homestead 配置正确,你应该可以使用以下数据库配置连接成功。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

如果您尝试从 Homestead 外部连接到 Homestead 数据库,Laravel 文档也介绍了如何进行连接。您可以查看 here.

本质上,您需要做的是作为主机连接到 127.0.0.1,但使用不同的端口(而不是 3306。)对于 MySQL,Homestead 公开了一个端口 33060 你应该尝试连接到。对于 Sequel Pro,这应该可以解决您的问题!

2020 年 10 月更新

如果您使用的是 MySql 8,则存在一些问题。

我也无法连接到 Laravel Homestead 数据库。 我解决了安装 Sequel Ace 的问题,它是 SequelPro 的继任者,也可在 Mac 应用商店。

https://github.com/Sequel-Ace/Sequel-Ace

这里是来自 SequelPro 问题的 post 关于:
https://github.com/sequelpro/sequelpro/issues/3705