【问题标题】:Laravel does not accept new database user in the .env fileLaravel 不接受 .env 文件中的新数据库用户
【发布时间】:2019-11-06 20:23:23
【问题描述】:

我正在使用不同的用户名设置我的 laravel 开发环境。我不想使用 root 用户访问我的数据库。

顺便说一句,我正在使用 Laradock。所以我没有使用普通的宅基地凭据。

如果我使用新用户并运行php artisan migrate,它会不断给我以下错误:

PDOException::("SQLSTATE[HY000] [1045] 用户'newuser'@'172.25.0.4'的访问被拒绝(使用密码:YES)")

PDO::__construct("mysql:host=mysql;port=3306;dbname=db_name", "db_user", "db_password!", [])

我已经完成了以下步骤:

  1. 重新启动服务器(docker-compose down,然后 up,然后重新启动 docker)
  2. php artisan config:clear
  3. php artisan cache:clear
  4. php artisan config:cache

请注意: 如果我使用的是新用户,它只会引发此错误,但它与 root 用户完全可以正常工作。新用户也拥有 GRANT ALL 权限。

我的.env 文件包含:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD=db_password

我希望能够使用新用户凭据而不是默认 root 用户来运行 php artisan migrate。

【问题讨论】:

  • 将主机改为本地主机
  • 你的数据库是远程的还是本地的?
  • 您的用户主机是否有正确定义? "%"
  • 谢谢@PayamKhaninejad。将 db_host 从 mysql 更改为 localhost 修复了它!
  • @Franz 乐于助人

标签: mysql laravel laradock


【解决方案1】:

您需要为 DB_HOST 设置正确的值。 如果您的数据库在本地网络,那么您可以设置 DB_HOST=localhost,或者您可以使用外部 IP 地址,例如 DB_HOST=172.25.0.4

运行后

php artisan config:cache
php artisan migrate

【讨论】:

  • 谢谢@Максим Абдалов,它解决了这个问题!
猜你喜欢
  • 2017-12-07
  • 2022-09-30
  • 2016-03-09
  • 1970-01-01
  • 2018-11-25
  • 2018-11-15
  • 2017-12-05
  • 2021-04-09
  • 1970-01-01
相关资源
最近更新 更多