最近公司数据库升级到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';