目录
一、问题描述
在本地登录数据库报错 ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’,但可通过 Navicat 远程连接。本地报错信息如下:
[root@localhost mysql]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
二、解决方法
1.尝试修改密码
通过 Navicat 远程连接,执行修改密码命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'
此时报如下错误,提示密码不满足当前的校验规则:
2.查看密码校验规则
执行语句:
SHOW VARIABLES LIKE 'validate_password%';
3.修改两个参数
set global validate_password.policy=0;
set global validate_password.length=1;
4.再次修改密码
通过 Navicat 远程连接,再次执行修改密码命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'
此时修改密码成功,本地也可以正常登录数据库了。