navicat链接mysql错误代码:2059

问题:

navicat连接mysql时报错2059,而使用IDEA连接时,能够连接成功。

原因:

经过我上网查询,我发现:MySQL新版本(8以上版本)的用户登录账户加密方式是【caching_sha2_password】,Navicat不支持这种用户登录账户加密方式。而我的mysql版本为8.0.31,所以会出现这个问题。

解决办法:

1.win+R,输入cmd后回车,进入控制命令台。

2.进入mysql客户端

mysql -u你的用户名 -p你的密码

出现下图所示信息,即为登录成功。

3.修改账户的加密方式为【mysql_native_password】

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

出现下图所示界面,即为成功。

4.重新使用navicat连接mysql

这时会成功连接。