最近公司数据库升级到8.0,数据库安装成功后,我使用Navicat连接数据库时,却显示如下的错误:
2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded: …

原来,MySql 8.0 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),对此,我们将mysql用户使用的登录密码加密规则还原成 mysql_native_password,即可登陆成功。
具体操作:
第一步:使用 MySql 数据库自带的命令行客户端工具登录数据库
use mysql;
第二步:从数据库的user表中查询 mysql 用户原来使用的身份验证插件
select user,host,plugin,authentication_string from user;
第三步:将用户root使用的身份验证插件 替换为之前版本使用的 mysql_native_password ,修改成功后再次使用客户端工具 Navicat Premium12 ,如无其它意外 , 就可以正常连接登录了。
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
本文介绍了解决MySQL8.0升级后,因身份验证插件变更导致的Navicat连接失败问题。通过更改登录密码加密规则至mysql_native_password,成功实现Navicat连接。

2万+

被折叠的 条评论
为什么被折叠?



