首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法连接到数据库Laravel

无法连接到数据库Laravel
EN

Stack Overflow用户
提问于 2021-01-17 13:24:12
回答 4查看 14.4K关注 0票数 18

我正在尝试创建一个简单的laravel项目,我正在跟踪一个laracast,用Sail建立这个项目。该项目运行良好,我能够迁移到供应商/bin/sail技工迁移。

laracast的下一步是使用tableplus连接到数据库。但我无法通过这一步。我在tableplus中得到了这个错误:

这是我的.env:

代码语言:javascript
复制
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阻止了它,现在我可以连接

EN

回答 4

Stack Overflow用户

发布于 2021-01-22 10:58:19

你应该定义

代码语言:javascript
复制
FORWARD_DB_PORT=3306

在您的.env中,这将在用于开发连接的端口上公开mysql。我建议不要在生产中暴露这个端口。

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

票数 12
EN

Stack Overflow用户

发布于 2021-12-23 16:49:53

我发现我不得不删除我的停靠卷,因为我有错误的用户名/密码,这可以通过以下方式完成:

使用sail down -v

  • Then sail up -d

  • Re-cache重新备份
  1. 删除卷,用sail artisan config:cache
  2. Then重新迁移db和sail artisan migrate

的.env变量

票数 6
EN

Stack Overflow用户

发布于 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):

代码语言:javascript
复制
mysql:
    image: 'mysql:8.0'
    ports:
        - '${FORWARD_DB_PORT:-3306}:3306'
    environment:
        MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
        MYSQL_DATABASE: '${DB_DATABASE}'
    (...etc...)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65761142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档