专注于高性能网络应用开发,核心技术包括PHP、Java、GO、NodeJS等后端语言,VUE、UNI、APP等前端开发,服务器运维、数据库、实时通信、AI等领域拥有丰富经验

MySQL 8.0+ 启用 mysql_native_password 插件并解决 “Plugin 'mysql_native_password' is not loaded” 报错

MySQL 8.0 开始,默认的用户认证插件已经切换为 caching_sha2_password。这个插件安全性更高,但很多旧的驱动、客户端(如老版本的 PHP、Navicat、JDBC)并不支持。
之前有篇 解决PHP7+PDO+MySQL8环境中“SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client”问题 能解决插件激活的情况下的问题,但是今天我在宝塔安装的mysql8里面,这个插件默认是禁用的,尝试使用 mysql_native_password 认证,很可能会遇到以下报错:

Plugin 'mysql_native_password' is not loaded

本文将带你一步步排查

  • MySQL 8.0 默认启用 caching_sha2_password,而 mysql_native_password 已被弃用。
  • 如果遇到 Plugin 'mysql_native_password' is not loaded,需要先确认插件是否存在,若 DISABLED 则通过 my.cnf 配置启用。
  • 启用后才能正常修改用户认证方式。
  • 长远看,应逐步迁移至 caching_sha2_password,避免未来升级风险。

如何确认插件是否存在、状态是否启用,以及如何正确开启并为用户配置该插件。


一、确认插件是否存在

SHOW PLUGINS;
SELECT plugin_name, plugin_status 
FROM information_schema.plugins 
WHERE plugin_name = 'mysql_native_password';
  • 如果能查到 mysql_native_password,但 plugin_status=DISABLED,说明插件已存在但未启用。
  • 如果完全没有结果,说明插件未安装,需要手动安装。

二、安装或启用插件

1. 安装插件(如未安装)

先查看插件目录:

SHOW VARIABLES LIKE 'plugin_dir';

进入目录确认插件文件是否存在,然后执行:

INSTALL PLUGIN mysql_native_password SONAME 'mysql_native_password';
⚠️ 不同系统上插件文件名可能不同,例如 Linux 下可能是 authentication_mysql_native_password.so

2. 启用插件(MySQL 8.4+ 推荐方式)

在配置文件 my.cnf(或 Windowsmy.ini)中 [mysqld] 段增加:

[mysqld]
mysql_native_password=ON

然后重启 MySQL 服务。

注意:不要使用 default_authentication_plugin=mysql_native_password,在新版本中可能导致 MySQL 无法启动。

重启后再次执行:

SHOW PLUGINS;

确认 mysql_native_passwordplugin_status 已变为 ACTIVE


三、配置用户认证方式

插件启用后,为需要兼容的用户切换认证方式:

ALTER USER 'root'@'localhost' 
IDENTIFIED WITH mysql_native_password BY '你的密码';

FLUSH PRIVILEGES;

验证:

SELECT user, host, plugin 
FROM mysql.user 
WHERE user='root';

确认 plugin 列显示为 mysql_native_password


四、推荐做法:迁移到 caching_sha2_password

虽然我们可以启用 mysql_native_password 作为过渡方案,但 MySQL 官方已经明确标注该插件为 deprecated(弃用),未来版本可能被彻底移除。

因此,长期方案建议:

ALTER USER 'youruser'@'%' 
IDENTIFIED WITH caching_sha2_password BY '新密码';

这样可以避免后续升级带来的兼容性问题。

相关文章