2059 - authentication plugin...错误解决方法
Navicat 连接MySQL数据库出现错误:2059 - authentication plugin 'caching_sha2_password'的解决方法。
错误原因:MySQL新版本(8以上版本)的用户登录账户加密方式是【caching_sha2_password】,Navicat不支持这种用户登录账户加密方式。
完美解决方案如下文:(解决不了请留言)

1、首先我们需要打开MySQL 命令行客户端,如图所示,点击【MySQL 8.0 command line client】;

2、然后输入自己安装MySQL时设置的密码,登录客户端,如图所示,表示登录成功;

3、接下来,我们先查看一下加密的方式,
输入:show variables like 'default_authentication_plugin';
回车,如图所示;

4、
接下来,查看本地mysql用户的信息,
输入:select host,user,plugin from mysql.user;
回车,如图所示,可以看到root账户的加密方式是caching_sha2_password;

5、但是Navicat不支持MySQL新版本的这种用户登录账户加密方式,所以下面我们要修改root账户的加密方式为【mysql_native_password】,如图所示,输入:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
回车,即可修改成功,注意这里最后的root是你设置的root账户的密码,我设置的是“root”。

6、最后,我们再重新打开Navicat连接MySQL,就可以成功用root账户连接了,如图所示。

当使用Navicat尝试连接MySQL8及以上版本时,可能会遇到2059错误,原因是新版本MySQL采用了caching_sha2_password加密方式,而Navicat不支持。解决方法包括:通过MySQL命令行客户端修改root用户的加密方式为mysql_native_password。步骤包括登录MySQL,查看默认认证插件和用户信息,然后使用ALTER USER命令更新root账户的加密方式,最后重新连接Navicat即可成功。
627





