插件窝 干货文章 如何解决MYSQL8.4.1 MySQL84--ERROR 1524(HY000):Plugin ‘msql_native_password‘ is not loaded问题

如何解决MYSQL8.4.1 MySQL84--ERROR 1524(HY000):Plugin ‘msql_native_password‘ is not loaded问题

class mysql password maodian 297    来源:    2024-10-28

问题描述

安装了mysql8.4.1,使用sqlyog、navicat无法连接,报错:

Plugin caching_sha2_password could not be loaded:乱码

原因

出现这个原因是MySQL8之前的版本中加密规则是mysql_native_password

而在MySQL8之后,加密规则是caching_sha2_password

解决问题方法有两种

  • 第一种是升级图形界面工具版本
  • 第二种是把MySQL8用户登录密码加密规则还原成mysql_native_password

按照网上教程尝试第二种方式解决

登录mysql依次执行如下命令:

#使用mysql数据库
USE mysql; 

#修改'root'@'localhost'用户的密码规则和密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abc123'; 

#刷新权限
FLUSH PRIVILEGES;

新问题

按照如上方法操作到第二条命令的时候出现了报错:Plugin ‘msql_native_password‘ is not loaded.

#查询mysql插件信息
show show plugins;

结果发现

mysql_native_password 插件是DISABLED状态。

解决

1、在my.ini文件中加入该插件启动命令,在[mysqld]段添加mysql_native_password=ON。

2、重启MySQL服务。然后登录mysql再show plugins;可以看到mysql_native_password是ACTIVE状态

3、再次执行前面的命令,这里需要注意执行第二条命令之后root的密码会被修改成新的:abc123,根据自己的情况修改。

#使用mysql数据库
USE mysql; 

#修改'root'@'localhost'用户的密码规则和密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abc123'; 

#刷新权限
FLUSH PRIVILEGES;

此时命令都可以正常执行,使用sqlyog也可以登录了,完美解决。

总结

以上为个人经验,希望对您有所帮助。