我正在尝试创建一个简单的laravel项目,我正在跟踪一个laracast,用Sail建立这个项目。该项目运行良好,我能够迁移到供应商/bin/sail技工迁移。
laracast的下一步是使用tableplus连接到数据库。但我无法通过这一步。我在tableplus中得到了这个错误:

这是我的.env:
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=csv
DB_USERNAME=root
DB_PASSWORD=我没有改变对接-撰写文件中的任何设置,在停靠桌面中,我可以看到mysql运行在端口3306上,并且没有设置密码。
你知道我怎样才能解决这个问题并连接到数据库吗?
编辑:发现问题。当我运行brew services list时,看到一个旧版本mysql仍然在运行。用brew services stop mysql阻止了它,现在我可以连接
发布于 2021-01-22 10:58:19
你应该定义
FORWARD_DB_PORT=3306在您的.env中,这将在用于开发连接的端口上公开mysql。我建议不要在生产中暴露这个端口。
https://github.com/laravel/sail/blob/e3d601598e735407070dd50e09ab6e0c68ab32ae/stubs/mysql.stub#L4
发布于 2021-12-23 16:49:53
我发现我不得不删除我的停靠卷,因为我有错误的用户名/密码,这可以通过以下方式完成:
使用sail down -v
sail up -d
sail artisan config:cachesail artisan migrate的.env变量
发布于 2021-09-27 02:54:56
我在我的笔记本电脑上安装了mysql,所以这是对我有用的(在您将它添加到您的.env中之后,您需要重新启动sail,这样它就可以在码头上发挥作用):
.env:FORWARD_DB_PORT=3307
对于TablePlus,您只需要名称、主机、修改后的端口和用户/pass( really默认为root,而不需要密码)。输入与.env:DB_DATABASE=相同的数据库名

如果您查看您的docker-compose.yml,您将看到默认设置为3306,这将覆盖它(这里不需要做什么,只是一个FYI):
mysql:
image: 'mysql:8.0'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_DATABASE: '${DB_DATABASE}'
(...etc...)https://stackoverflow.com/questions/65761142
复制相似问题