【发布时间】: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!", [])
我已经完成了以下步骤:
- 重新启动服务器(docker-compose down,然后 up,然后重新启动 docker)
php artisan config:clearphp artisan cache:clearphp 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 乐于助人