MySQL 连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded

很多用户在使用 Navicat Premium 12 连接 MySQL 数据库时会出现 Authentication plugin ‘caching_sha2_password’ cannot be loaded 的错误。

出现这个原因是 mysql8 之前的版本中加密规则是 mysql_native_password, 而在 mysql8 之后,加密规则是 caching_sha2_password, 解决问题方法有两种,一种是升级 navicat 驱动,一种是把 mysql 用户登录密码加密规则还原成 mysql_native_password.

这里用第二种方式 ,解决方法如下

ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限