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

1、问题描述:

今天在使用Navicat Premium 12连接MySQL数据库时会出现Authentication plugin 'caching_sha2_password' cannot be loaded的错误。

2、原因分析

原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password;

3、解决方法

把mysql用户登录密码加密规则还原成mysql_native_password.

操作如下:
(1)1管理员权限运行命令提示符,登陆MySQL

mysql -u root -p
password: 输入秘密

 
image.png

(2)修改账户密码加密规则并更新用户密码

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

(3)刷新权限并重置密码

FLUSH PRIVILEGES;   #刷新权限 

 

 

mysql> show variables like 'default_authentication_plugin';
+-------------------------------+-----------------------+
| Variable_name                 | Value                 |
+-------------------------------+-----------------------+
| default_authentication_plugin | caching_sha2_password |
+-------------------------------+-----------------------+
1 row in set (0.01 sec)
mysql> select host,user,plugin from mysql.user;
+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| %         | root             | caching_sha2_password |
| localhost | mysql.infoschema | mysql_native_password |
| localhost | mysql.session    | mysql_native_password |
| localhost | mysql.sys        | mysql_native_password |
| localhost | root             | caching_sha2_password |
+-----------+------------------+-----------------------+
posted @ 2022-12-09 16:57  石三爷  阅读(1626)  评论(0编辑  收藏  举报