一段时间以来,我一直在尝试连接到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”
答案 0 :(得分:0)
我认为您已将应用程序安装在一个无用的容器中。但是您的数据库位于安装了virtulbox的实际Mac主机中。
当您的应用程序将主机IP表示为127.0.0.1
时,这就是您的vagrant计算机的本地环回地址,而不是运行vagrant的mac计算机。
因此,您可以尝试将Mac机中安装的MySQL客户端连接到虚拟容器中的应用程序。
您可以在无业游民的服务器中安装MySQL,以便您的应用程序可以通过指向主机IP 127.0.0.1
来使用它。