ERROR 1524 (HY000) Plugin ‘mysql_native_password‘ is not loaded

你遇到的错误是由于 MySQL 版本不再默认支持 mysql_native_password 认证插件导致的。从 MySQL 8.0 开始,默认的认证插件是 caching_sha2_password,而不是 mysql_native_password

解释:
  • 错误 ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded 表示 MySQL 中没有加载或支持 mysql_native_password 插件。
  • 从 MySQL 8.0 开始,mysql_native_password 插件已经被弃用,默认采用 caching_sha2_password 插件。
解决方法:

如果你必须使用 mysql_native_password 插件,可以尝试以下方法:

方法 1: 使用 caching_sha2_password 插件

你可以使用默认的 caching_sha2_password 插件来设置密码,而不使用 mysql_native_password

复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'root';

这将使用默认的 caching_sha2_password 插件,并设置 root 用户的密码为 root

方法 2: 启用 mysql_native_password 插件(不推荐)

如果你确实需要使用 mysql_native_password 插件,你可以手动启用它,虽然这不建议在最新版本中使用。可以通过修改 MySQL 配置文件来加载该插件:

  1. 编辑 MySQL 配置文件(通常在 /etc/mysql/my.cnf/etc/my.cnf)。

  2. [mysqld] 部分添加以下行以启用 mysql_native_password 插件:

    复制代码
    default_authentication_plugin=mysql_native_password
  3. 保存文件并重启 MySQL 服务:

    复制代码
    sudo systemctl restart mysql
  4. 然后再次运行以下命令来设置密码:

    复制代码
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
方法 3: 为兼容性指定插件

如果你只想为某个用户启用 mysql_native_password 插件,可以在用户创建或修改时指定插件,如下所示:

复制代码
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

或者修改现有用户:

复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
建议:

MySQL 8.0 及之后的版本推荐使用 caching_sha2_password 插件,因为它提供了更高的安全性和性能。如果没有特别的兼容性需求,建议使用 caching_sha2_password 插件。

你可以尝试方法 1 来解决当前问题,并避免使用 mysql_native_password 插件。

相关推荐
稚枭天卓1 分钟前
mac 安装mysql
mysql·macos
Rick19936 分钟前
Redis 高频面试 10 题
数据库·redis·面试
陈橘又青16 分钟前
国产数据库工具测评:DBLens 以本地化工程能力与 AI 演进路径凸显优势
数据库
念恒1230616 分钟前
MySQL事务(下)---MySQL InnoDB MVCC 与 Read View:从隐藏列、Undo Log 到 RR 与 RC 的本质区别
数据库·mysql·oracle
i220818 Faiz Ul17 分钟前
在线预约导游|基于SSM+vue的在线预约导游系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·在线预约导游系统
anew___22 分钟前
《数据库原理》精要解读(五)—— 数据库完整性:守护数据的真实与逻辑
数据库·oracle
Java面试题总结24 分钟前
MySQL EXISTS 详解:存在性判断、NOT EXISTS 与实战示例
android·数据库·mysql
cuijiecheng201827 分钟前
Little-Anti-Cheat源码分析(1)——Little-Anti-Cheat插件简介
数据库
土狗TuGou30 分钟前
SQL内功笔记 · 第5篇:SQL逻辑执行顺序
数据库·笔记·后端·sql·mysql
abcy07121337 分钟前
python Django整合postgresql实现增删改查crud
mysql