Laravel / Homestead无法通过客户端连接到数据库

时间:2019-02-24 11:47:30

标签: mysql database laravel homestead

一段时间以来,我一直在尝试连接到laravel / homstead框的数据库。一旦运行php artisan migratevagrant 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

TablePlus error message

解决方案

设法通过ssh连接。我仍然不知道为什么客户(我也尝试过续集专业版)每次都超时。

这些是我最终使用的设置ssh vagrant默认密码是“ vagrant”

DB Client settings

1 个答案:

答案 0 :(得分:0)

我认为您已将应用程序安装在一个无用的容器中。但是您的数据库位于安装了virtulbox的实际Mac主机中。

当您的应用程序将主机IP表示为127.0.0.1时,这就是您的vagrant计算机的本地环回地址,而不是运行vagrant的mac计算机。

因此,您可以尝试将Mac机中安装的MySQL客户端连接到虚拟容器中的应用程序。

您可以在无业游民的服务器中安装MySQL,以便您的应用程序可以通过指向主机IP 127.0.0.1来使用它。