1、在使用Navicat Premium 12,连接MySQL8.0版本数据库时会出现Authentication plugin 'caching_sha2_password' cannot be loaded的错误。

  出现这个问题的原因是mysql8.0版本之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

  解决问题的方法有两种,一种是升级navicat驱动,另一种是把mysql用户登录密码加密规则还原成mysql_native_password。


2、此处,使用第二种解决方法,如下所示:


1 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   #修改加密规则 
2
3 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码


具体操作,如下所示:

然后,刷新权限并重置密码,FLUSH PRIVILEGES;   #刷新权限。


1 FLUSH PRIVILEGES;  -- 刷新权限
2
3 alter user 'root'@'localhost' identified by 'password'; -- 重置密码命令


此时,再次使用Navicat Premium 12连接MySQL8.0数据库就会发现,可以连接成功了。