Laravel在.env文件中不接受新的数据库用户

时间:2019-06-25 03:44:25

标签: mysql laravel laradock

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

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

如果我使用新用户并运行php artisan migrate,它将继续给我以下错误:

  

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

     

PDO :: __ construct(“ mysql:host = mysql; port = 3306; dbname = db_name”,“ db_user”,“ db_password!”,[])

我已经完成了以下步骤:

  1. 重新启动服务器(将docker-compose降下来,然后启动,然后重新启动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迁移。

1 个答案:

答案 0 :(得分:1)

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

运行后

php artisan config:cache
php artisan migrate