Plugin ‘mysql_native_password‘ is not loaded`

Plugin 'mysql_native_password' is not loaded`
      • mysql_native_password介绍
      • [1. 使用默认的认证插件](#1. 使用默认的认证插件)
      • [2. 修改 my.cnf 或 my.ini 配置文件](#2. 修改 my.cnf 或 my.ini 配置文件)
      • [3. 加载插件(如果确实没有加载)](#3. 加载插件(如果确实没有加载))
      • [4. 重新安装或检查 MySQL 版本](#4. 重新安装或检查 MySQL 版本)

遇到错误 ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded 表示 mysql_native_password 插件在 MySQL 服务中没有加载或不可用。这种情况通常出现在新版的 MySQL 中,尤其是从 MySQL 5.7 升级到 MySQL 8.0 时,因为 MySQL 8.0 默认使用了更安全的认证插件 caching_sha2_password

复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '含有大小写字母、数字、特殊字符的密码';

ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
mysql_native_password介绍

使用的是基于SHA-1的密码散列算法。

SHA-1算法已被认为不再足够安全,存在一定的安全隐患,容易受到撞库攻击和其他形式的攻击

解决这个问题,你可以尝试以下几种方法:

1. 使用默认的认证插件

如果没有特别的需要使用 mysql_native_password,建议使用 MySQL 8.0 默认的 caching_sha2_password 认证插件。对于新用户,可以这样创建:

复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Li4444555635!'; 
2. 修改 my.cnf 或 my.ini 配置文件

如果你确实需要使用 mysql_native_password,尝试在 MySQL 的配置文件(Linux 上通常是 /etc/my.cnf/etc/mysql/my.cnf,Windows 上是 my.ini)中添加以下设置,然后重启 MySQL 服务:

复制代码
default_authentication_plugin=mysql_native_password

添加这段配置后,新创建的用户将默认使用 mysql_native_password 认证插件。对已存在的用户,你可能需要重新设置密码,使更改生效:

复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Li4444555635!';
3. 加载插件(如果确实没有加载)

如果你确认 MySQL 安装包含 mysql_native_password 插件,但因某些原因它没有加载,可以尝试手动加载插件(这在标准安装中很少需要):

复制代码
INSTALL PLUGIN mysql_native_password SONAME 'auth_socket.so';

请注意,替换 'auth_socket.so' 为实际的插件文件名,这可能因操作系统和 MySQL 版本而异。

4. 重新安装或检查 MySQL 版本

如果以上步骤都无法解决问题,确保你的 MySQL 版本支持 mysql_native_password 认证插件。可能需要重新安装或升级 MySQL。 在操作前,建议备份所有重要数据和检查 MySQL 的兼容性信息确保版本支持你需要的特性。

相关推荐
2401_8676239811 分钟前
SQL如何提取分组中的第一条记录_使用ROW_NUMBER定位数据
jvm·数据库·python
lifewange15 分钟前
Hive 数据库 增删改 完整操作指南
数据库·hive·hadoop
Mike117.19 分钟前
GBase 8c 写入高峰抖一下,我通常会先看检查点和 WAL
数据库
C137的本贾尼28 分钟前
子查询与合并查询:SQL 的高级过滤技巧
数据库·sql
程序员陆业聪43 分钟前
当AI学会了混淆代码:LLM辅助混淆 vs R8,Android安全的下一个十字路口
android
jingyu飞鸟44 分钟前
linux系统二进制安装MySQL 8.4、8.0版本数据库,配置crontab和xtrabackup数据库热备份脚本
linux·数据库·mysql
小江的记录本1 小时前
【MySQL】《MySQL日志面试背诵版+思维导图》(核心考点 + MySQL 8.0最新优化)
java·数据库·后端·python·sql·mysql·面试
BD_Marathon1 小时前
SQL学习指南——创建和填充数据库
数据库·sql
TDengine (老段)1 小时前
TDengine RPC 通信层深度解析 — 协议格式、连接管理与重试机制
大数据·数据库·rpc·架构·时序数据库·tdengine·涛思数据
KaMeidebaby1 小时前
卡梅德生物技术快报|噬菌体筛选全流程技术方案:弧菌抑菌菌株筛选、特性鉴定与效果测试
前端·数据库·其他·百度·新浪微博