在我的 Ubuntu VM 中,我不断得到
SQLSTATE[HY000] [1045] Access denied for user 'username'@'localhost' (using password: YES)
更新
我已经在我的 .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)
最佳答案
解决方案:
有时,当您更改 .env 时,如果没有清除缓存或重新启动服务器,配置不会刷新。
错误信息是:
SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: YES)
数据库正在尝试从“缓存” .env 配置中获取信息,您应该尝试:
php artisan config:clear
如果不能解决,请重新启动您的服务器。
[编辑] 另一个 不推荐 选项:
config\database.php
并设置您自己的凭据
'mysql' => [
'host' => '45.55.88.77',
'database' => 'prod',
'username' => 'forge',
'password' => '*********',
],
关于php - SQLSTATE[HY000] [1045] 用户 'username' @'localhost' 的访问被拒绝(使用密码 : YES),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42496917/