无法连接到数据库 Laravel Sail

问题描述

我正在尝试创建一个简单的 laravel 项目,我正在关注 laracast 以使用 Sail 设置该项目。该项目运行良好,我能够使用 vendor/bin/sail artisan migrate 进行迁移。

laracast的下一步是用tableplus连接数据库。但我无法通过这一步。我在 tableplus 中收到此错误

enter image description here

这是我的 .env:

DB_CONNECTION=MysqL
DB_HOST=MysqL
DB_PORT=3306
DB_DATABASE=csv
DB_USERNAME=root
DB_PASSWORD=

我没有更改 docker-compose 文件中的任何设置,在 docker 桌面中我可以看到 MysqL 在端口 3306 上运行并且没有设置密码。

知道如何解决此问题并连接到数据库吗?

EDIT:发现问题。当我运行 brew services list 时,看到旧版本的 MysqL 仍在运行。用 brew services stop MysqL 停止它,现在我可以连接

解决方法

你应该定义

FORWARD_DB_PORT=3306

在您的 .env 中,这将在该端口上公开 mysql 以进行开发连接。我建议不要在生产中公开此端口。

https://github.com/laravel/sail/blob/1.x/stubs/docker-compose.yml#L34