我已经在这里和GitHub上检查了很多有关此问题的答案,但是无论我尝试如何,总有问题。我也无法理解为什么有时使用相同的凭据可以连接其他时间,但我什至无法做到这一点。
所以现在我收到以下错误:
“ SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo失败: 提供的节点名或服务名,或者未知
我无法连接:
我的.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作为主机。
答案 0 :(得分:0)
我认为您的问题出在DB_HOST
参数上。我提供了完整的解释。您的修复程序很可能是最后一段的一部分!
Laravel附带了.env.example
,该DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
配置为可以直接连接到Homestead MySQL。假设您正在Homestead中运行所有程序,并且Homestead配置正确,那么您应该能够使用以下数据库配置成功连接。
127.0.0.1
如果您尝试从Homestead外部连接到Homestead数据库,Laravel文档将介绍如何执行此操作。您可以查看here。
基本上,您需要做的是作为主机连接到3306
,但使用另一个端口(而不是33060
。)对于MySQL,Homestead公开了一个端口createNamedConfig
应该尝试改为连接。对于Sequel Pro,这应该可以解决您的问题!
答案 1 :(得分:0)
2020年10月更新
如果您正在使用MySql 8,则存在一些问题。
我也无法连接Laravel Homestead DB。 我解决了安装 SequelPro 的后续产品 Sequel Ace 的问题,该产品也可以在Mac AppStore中获得。
https://github.com/Sequel-Ace/Sequel-Ace
这里是SequelPro上的一则帖子,内容涉及:
https://github.com/sequelpro/sequelpro/issues/3705