我一直试图连接到我的laravel / homstead盒子的数据库一段时间。一旦我跑了php artisan migrate
和vagrant up
,我就能成功地运行vagrant ssh
。我已经尝试了很多解决方案,比如使用localhost
而不是127.0.0.1
,并尝试了主机文件ip 192.168.10.10
都没有用。
主机文件:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
192.168.10.10 vueapp.local
192.168.10.10 laravelapp.local
database.php中:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
],
.env文件
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
我使用TablePlus for Mac作为mysql客户端
密码使用:秘密
TablePlus connection settings screenshot
解
设法通过ssh连接。我仍然不知道为什么客户(我也试过续集专业版)每次都超时。
这些是我最终使用的设置ssh vagrant默认密码是“vagrant”
我认为你的应用程序安装在一个vagrant容器中。但是您的数据库位于安装virtulbox的实际主机mac机器内。
当你的应用程序将主机IP称为127.0.0.1
时,这就是流浪机的本地环回地址,而不是流浪者正在运行的mac机器。
因此,您可以尝试将安装在mac机器中的MySQL客户端连接到驻留在虚拟容器内的应用程序。
您可以在vagrant服务器中安装MySQL,以便您的应用程序可以通过指向主机IP 127.0.0.1
来使用它。