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'; -- 重置密码命令
或者 用命令行连接mysql
#使用mysql数据库
USE mysql;
#修改'root'@'localhost'用户的密码规则和密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
#刷新权限
FLUSH PRIVILEGES;
此时,再次使用Navicat Premium 12连接MySQL8.0数据库就会发现,可以连接成功了