首页 > 解决方案 > 无法连接到数据库 Laravel Sail

问题描述

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

laracast 的下一步是使用 tableplus 连接数据库。但我无法通过这一步。我在 tableplus 中收到此错误: 在此处输入图像描述

这是我的 .env:

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

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

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

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

标签: mysqllaravellaravel-8laravel-sail

解决方案


你应该定义

FORWARD_DB_PORT=3306

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

https://github.com/laravel/sail/blob/e3d601598e735407070dd50e09ab6e0c68ab32ae/stubs/mysql.stub#L4


推荐阅读