【问题标题】:SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)?SQLSTATE[HY000] [1045] 用户'root'@'localhost'的访问被拒绝(使用密码:YES)?
【发布时间】:2020-08-20 12:16:10
【问题描述】:

.env 文件

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

所有数据库列表 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | nodeDB | | performance_schema | | phpmyadmin | | pythonDB | | sys | | task | +--------------------+ 8 rows in set (0.13 sec)

已经尝试过这些解决方案

SQLSTATE[HY000] [1045] Access denied for user 'username'@'localhost' (using password: YES)

Access Denied for User 'root'@'localhost' (using password: YES) - No Privileges?

【问题讨论】:

  • 您创建了数据库task 吗?另外请检查用户名和密码是否正确有效。
  • 是的,我已经使用cmd创建了任务数据库。
  • 尝试使用用户名和密码进入mysql。 mysql -u root -p 并输入密码。检查凭据是否确实有效。
  • 您的密码有特殊字符吗?换个简单的密码试试,看看是不是密码问题。
  • 我使用的是ubuntu,我可以使用“sudo mysql”进入,但是使用“mysql -u root -p”无法进入

标签: php mysql laravel laravel-7


【解决方案1】:

如果您能够登录到 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';

不要忘记将password 替换为您的密码。

然后使用FLUSH PRIVILEGES; 刷新权限

或者,您可以创建另一个用户并授予权限。

CREATE USER 'ankush'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'ankush'@'localhost' WITH GRANT OPTION;

【讨论】:

    猜你喜欢
    • 2015-08-16
    • 2017-11-23
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 2017-08-10
    • 2019-07-23
    相关资源
    最近更新 更多