当前位置: 首页 > 知识库问答 >
问题:

sqlstate[HY000][1045]拒绝用户“root”@“localhost”访问(使用密码:YES)?

祁杰
2023-03-14

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=task
DB_USERNAME=root
DB_PASSWORD=******

所有数据库列表MySQL>显示数据库;+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

已经尝试过这些解决方案

SQLSTATE[HY000][1045]拒绝对用户“username”@“localhost”的访问(使用密码:YES)

拒绝用户'root'@'localhost'的访问(使用密码:是)-没有特权?


共有1个答案

孔嘉茂
2023-03-14

如果您能够登录到mysql控制台。然后尝试通过以下命令打印Mysql用户

SELECT user,authentication_string,plugin,host FROM mysql.user;

如果您发现root有一个类型为auth_socket的插件,那么您需要通过以下命令将其更改为mysql_native_password

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

不要忘记用您的密码替换密码

CREATE USER 'ankush'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'ankush'@'localhost' WITH GRANT OPTION;
 类似资料: