本人是在docker中升级的mysql
今天安全扫描发现MySQL存在漏洞,不用想别的升级把
一、备份
首先登陆进docker中的MySQL控制台

docker exec -it 镜像ID sh

接下来执行mysqldump命令备份库表


mysqldump -uroot -p *** 库名 > ***.sql
退出mysql控制台

二、拉取镜像
镜像网址
docker镜像网站

在这里插入图片描述
然后我就在rancher配置

配置root密码
在这里插入图片描述

然后一些列小东西我就不一一展示了,然后我就开始部署了

但是报错了
报错信息如下
请添加图片描述
@[ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded
因为我没有在my,cnf配置mysql_native_password
我就在网上找教程


遇到的错误是由于 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';
1
这将使用默认的 caching_sha2_password 插件,并设置 root 用户的密码为 root。

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

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

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

default_authentication_plugin=mysql_native_password
1
保存文件并重启 MySQL 服务:

sudo systemctl restart mysql
1
然后再次运行以下命令来设置密码:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

然后我就按照这个配置了

default_authentication_plugin=mysql_native_password

但是我的rancher在重新部署mysql的时候报错了

[ERROR] [MY-000067] [Server] unknown variable 'default_authentication_plugin=mysql_native_password'.
2025-01-16T03:26:13.920942Z 0 [ERROR] [MY-010119] [Server] Aborting

不至于语法然后我就翻来覆去网上的教程发现都没有解决这个问题都不行

最后博主去官网看看有没有解决办法
果然官网有
解决mysql_native_password办法地址

解决办法的网址我就贴上面了,但是不想打开的小伙伴直接复制就行了,解决办法就是输入这个东西的格式变了

这个默认是禁用的在8.4x版本,9.x直接删除了。。。。然后我就先用着8.4等9.x有问题再说吧,8.4x没有漏洞,博主够用了。把这个设置成ON开启就行了就可以正常部署了

mysql-native-password={OFF|ON}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐