OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")
时间: 2023-10-02 19:10:58 浏览: 224
OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") 报错表示在使用root用户连接数据库时,密码被拒绝。这个问题可能有几个原因导致:防火墙阻挡、用户赋权问题或密码输入错误。
解决方法如下:
1. 确认服务器防火墙是否阻挡了数据库连接,可以通过关闭防火墙来解决,使用命令`systemctl stop firewalld.service`。
2. 确认用户的权限是否正确,可以登录到MySQL数据库进行赋权,使用命令`grant all privileges on *.* to 'root'@'%' identified by '密码'; flush privileges;`。
3. 检查密码是否输入正确,可以通过命令`mysql -u root -p`输入密码来连接数据库,若密码错误则需要重置密码。
如果以上方法都无法解决问题,可以尝试重置root用户密码。具体步骤如下:
1. 在MySQL配置文件`/etc/my.cnf`中添加配置`skip-grant-tables`,然后重启MySQL服务。
2. 登录MySQL客户端,不需要密码,并选择mysql库,使用命令`mysql -uroot -p`和`use mysql;`。
3. 根据MySQL版本不同,执行下面两种命令中的一种:
- MySQL 5.7版本之后:`update user set authentication_string=password('root') where user='root';`
- MySQL 5.7版本之前:`update user set password=password('root') where user='root';`
阅读全文