在navicat客户端中连接MySql数据库时,输入用户名密码之后,提示-2059的错误。具体原因为mysql 8版本之前加密规则为mysql_native_password,在mysql 8以后的加密规则为caching_sha2_password,所以就报错了。现在修改登陆的用户加密规则并刷新就能够解决问题。
1、Win+R快捷键运行cmd,切换到mysql安装目录下的bin文件夹下【管理员权限运行】
cd *:\MySQL Server 8.0\bin
2、登陆
mysql -u root -p
3、选择数据库
use mysql;
4、更改加密方式和更新用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootroot' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'rootroot';
5、刷新权限
FLUSH PRIVILEGES;
经过这几步操作就完成了,至此问题解决。
原文链接:https://blog.csdn.net/HH1778981113/article/details/84948096