完美解决 mysql 报错ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded


跟着我下面的步骤走,解决你的问题,如果解决不了 私信我来给你解决

错误描述

执行ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';报错ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded 原因如下

错误原因

这个错误主要由以下几个原因造成:

  1. 插件未安装:MySQL的auth_socket插件可能没有被安装。这个插件允许用户通过操作系统的socket来进行身份验证,而不是使用密码。
  2. 配置问题:MySQL配置文件(my.cnf或my.ini)中可能没有正确配置auth_socket插件。
  3. 权限问题:即使插件已安装,但MySQL服务器的运行用户可能没有足够的权限来加载该插件。

解决步骤

确认插件是否已安装
首先,你需要确认auth_socket插件是否已经安装在你的MySQL服务器上。可以通过登录到MySQL服务器并执行以下SQL查询来检查:

SHOW PLUGINS;

在结果中查找auth_socketunix_socket(插件名称可能根据MySQL版本而异)。
我是没有找到 所以就安装吧

安装或启用插件
如果auth_socket插件未显示在已安装的插件列表中,你需要安装或启用它。可以通过以下SQL命令来安装:
进入到你的mysql容器中执行

INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';

在这里插入图片描述
更改用户的认证方法
如果你已确认插件已安装并且想使用它,确保你的MySQL用户配置为使用该插件进行认证。你可以使用以下SQL命令更改用户的认证方法:

ALTER USER 'root'@'%' IDENTIFIED WITH auth_socket;ALTER USER 'your_username'@'localhost' IDENTIFIED WITH auth_socket;

替换root为你的实际用户名
然后我们在重新执行ALTER USER 'root'@'%' IDENTIFIED WITH auth_socket BY '123456';
注意这个地方不是mysql_native_password 而是auth_socket 因为咱创建的就是auth_socket
OK 完事!
在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 07:58:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 07:58:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 07:58:04       87 阅读
  4. Python语言-面向对象

    2024-06-06 07:58:04       96 阅读

热门阅读

  1. Linux 新磁盘挂载

    2024-06-06 07:58:04       28 阅读
  2. Python爬虫之保存图片到本地

    2024-06-06 07:58:04       24 阅读
  3. 初始化git项目,并推送到github上

    2024-06-06 07:58:04       30 阅读
  4. linux安装docker步骤

    2024-06-06 07:58:04       29 阅读
  5. 图论第二天

    2024-06-06 07:58:04       27 阅读