今天在使用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.
我使用第二种方法来解决问题。一下是我执行过程:
- 登陆MySQL
mysql -u root -p
- 修改账户密码加密规则并更新用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
- 刷新权限并重置密码
FLUSH PRIVILEGES; #刷新权限
执行过程图如下:
使用Navicat Premium 12
连接MySQL
数据库测试结果成功。