mysql出现:ERROR 1524 (HY000): Plugin ‘123‘ is not loaded

问题描述

ubuntu已经安装过数据库,当输入命令mysql -p -uroot时出现:
在这里插入图片描述

解决方案

1.输入:sudo vi /etc/mysql/my.cnf 命令,并添加

[mysqld]
skip-grant-tables

在这里插入图片描述
2.重启服务:sudo service mysql restart
3.测试:
在这里插入图片描述

### 解决 MySQL 错误 1524 `mysql_native_password` 插件未加载 当遇到 MySQL 错误 1524,提示 `Plugin 'mysql_native_password' is not loaded` 时,这通常是因为 MySQL 服务器未能成功加载所需的认证插件。自 MySQL 8.0 版本以来,默认的身份验证插件变更为 `caching_sha2_password`,而非之前的 `mysql_native_password`。 为了修正此问题,可以采取以下措施: #### 方法一:启用并安装 `mysql_native_password` 插件 如果希望继续使用 `mysql_native_password` 而不是新的默认插件,则可以通过执行 SQL 查询来更改用户的认证方法,并确保插件已正确安装和激活: ```sql -- 安装 mysql_native_password 插件(仅需一次) INSTALL PLUGIN mysql_native_password SONAME 'auth.so'; -- 更新现有账户以使用 mysql_native_password 认证方式 ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; FLUSH PRIVILEGES; ``` 上述操作会强制指定用户采用旧版的加密算法进行身份验证[^3]。 #### 方法二:调整新创建用户的默认认证机制 对于新建账号来说,可以在初始化阶段就指明要使用的具体认证协议,这样就不必事后修改了。例如,在创建一个新的超级管理员角色时可以直接这样做: ```sql CREATE USER 'admin_user'@'%' IDENTIFIED WITH mysql_native_password BY 'secure_password!'; GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'%'; FLUSH PRIVILEGES; ``` 这种方法适用于那些偏好传统认证流程的应用场景或者遗留系统迁移项目中[^4]。 #### 方法三:全局变更默认认证插件设置 更进一步地讲,还可以考虑在整个实例级别上改变默认的行为模式——即将整个 MySQL 实例恢复成以前版本的工作状态,即让所有新增加的用户都自动关联至 `mysql_native_password` 。为此目的,编辑 my.cnf 或者 my.ini 文件下的 `[mysqld]` 部分加入如下参数即可实现这一目标: ```ini default_authentication_plugin=mysql_native_password ``` 保存文件后重启服务使改动生效[^5]。 以上三种方案任选其一都能有效处理因缺少必要的认证组件而导致无法正常工作的状况;当然也可以根据实际情况组合运用这些技巧达到最佳效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pmetpord丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值