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数据库就会发现,可以连接成功了。