在我的Ubuntu VM中,我一直在
SQLSTATE [HY000] [1045]访问被拒绝用户'用户名'@'localhost'(使用密码:是)
我已在我的.env文件中配置了我的数据库
DB_HOST=45.55.88.57
DB_DATABASE=b-prod
DB_USERNAME=root
DB_PASSWORD=*********
UNIX_SOCKET=/var/run/mysqld/mysqld.sock
效果很好。
但是当我使用
时DB_HOST=45.55.88.57
DB_DATABASE=b-prod
DB_USERNAME=b <----------------------------------------------
DB_PASSWORD=*********
UNIX_SOCKET=/var/run/mysqld/mysqld.sock
我没有工作。
我还应该考虑什么才能防止这种情况发生?
我觉得我的密码错了。
如何测试数据库密码? DB_PASSWORD = *********?
这是我拥有的所有用户
mysql> SELECT User,Host FROM mysql.user;
+------------------+-------------+
| User | Host |
+------------------+-------------+
| root | % |
| root | 127.0.0.1 |
| root | 45.55.88.57 |
| root | ::1 |
| root | b |
| b | localhost |
| debian-sys-maint | localhost |
| root | localhost |
+------------------+-------------+
8 rows in set (0.00 sec)
答案 0 :(得分:6)
有时当您更改.env时,配置不会刷新而没有清除缓存或重新启动服务器。
错误消息是:
SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: YES)
数据库正试图从&#34;缓存&#34;获取信息。 .env配置,你应该尝试:
php artisan config:clear
如果不解决,请重新启动服务器。
config\database.php
并设置自己的凭据
'mysql' => [
'host' => '45.55.88.77',
'database' => 'prod',
'username' => 'forge',
'password' => '*********',
],
答案 1 :(得分:1)
我遇到了同样的问题,试图在本地主机上安装Matomo。我以为这是我的MySQL配置,但似乎是我的浏览器(Opera)中的adblockers和adtrackers插件。一旦停用,它就可以正常工作。 我希望我能帮忙... 祝你好运!
答案 2 :(得分:0)
此文件正在缓存一些数据,例如数据库配置\bootstrap\cache\config.php
。删除它或用新数据更新它。
答案 3 :(得分:0)
我认为您的问题出在数据库而不是laravel。
mysql> SELECT User,Host FROM mysql.user;
+------------------+-------------+
| User | Host |
+------------------+-------------+
| root | % |
| root | 127.0.0.1 |
| root | 45.55.88.57 |
| root | ::1 |
| root | b |
| b | localhost | <-- must be % not localhost coz you want to access it remotely not locally
| debian-sys-maint | localhost |
| root | localhost |
+------------------+-------------+
8 rows in set (0.00 sec)
希望这会有所帮助。
答案 4 :(得分:0)
如果使用wamp,请检查数据库端口,登录phpadmin并在页面顶部查看服务器:MySQL 。