0x00 错误描述

mysql数据库的版本是8.0.17,使用navicat连接的时候报错Authentication plugin 'caching_sha2_password' cannot be loaded

0x01 解决方法

因为我使用的navicat不支持caching_sha2_password的认证方式,只能在服务器暂时修改为mysql_native_password

// 登录Mysql(需要输入密码)
mysql -u root -p

// 选择数据库(这一步不可省略)
use mysql

// 查看plugin设置
select host, user, plugin from user;

// 可以看到root的plugin是caching_sha2_password,我们希望改成mysql_native_password
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxx';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxx';

//使生效
FLUSH PRIVILEGES;

0x02 注意事项

在navicat连接完毕后,需要改回caching_sha2_password,否则后端连接的时候可能会出现问题。