【问题标题】:Laravel/homestead can not connect to database via clientLaravel/homestead 无法通过客户端连接数据库
【发布时间】:2019-02-24 11:47:29
【问题描述】:

一段时间以来,我一直在尝试连接到我的 laravel/homstead 盒子的数据库。一旦我运行vagrant upvagrant ssh,我就可以成功运行php artisan migrate。我尝试了很多解决方案,例如使用 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 连接。我仍然不知道为什么客户(我也尝试过 sequel pro)每次都超时。

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

DB Client settings

【问题讨论】:

    标签: mysql database laravel homestead


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-21
      • 2014-07-28
      • 2020-12-19
      • 2020-06-05
      • 2017-04-25
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      相关资源
      最近更新 更多