发生了一件非常非常非常蛋疼的事情
由于MySQL数据是从5.7.x一路升级而来,一直沿用之前的mysql_native_password加密插件,之前升级到8.4.0 LTS的时候报错,特意增加了一行配置:mysql_native_password=ON
近期mysql 8.4.1 LTS 更新了,想着现在已经是8.4.0了索性就升级一下,结果蛋疼的事情出现了,明明镜像指定了:mysql:8.4.1,但是升级完之后不知道为什么镜像名字变成了:mysql:9.0.0,还非常蛋疼的告诉我:unknown variable ‘mysql_native_password=ON’
后来发现这俩镜像是一模一样的



这就哔了狗了,真哔了狗了,此处省略一万字对MySQL的怒赞!!!
查来查去发现了两件事情:
第一件事情:MySQL 9.0.0,移除mysql_native_password认证插件
第二件事情:MySQL 9.0.0,无法动态加载mysql_native_password认证插件
官方文档:
解决办法:
1、增加配置
[mysqld]
skip-grant-tables
2、重启mysql
kubectl delete pod mysql-server-7d794599bd-q9xgn
3、免密登录到mysql里面
kubectl exec -it mysql-server-7d794599bd-q9xgn — bash
mysql -uroot -p
4、修改加密规则
USE mysql;
FLUSH PRIVILEGES;
UPDATE mysql.user SET plugin='caching_sha2_password', authentication_string='' WHERE user='root' AND host='localhost';
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY 'newpassword';
FLUSH PRIVILEGES;
5、去除增加的配置
skip-grant-tables
6、重启mysql
kubectl delete pod mysql-server-7d794599bd-q9xga
7、重新登录
幸亏新版本的wordpress支持caching_sha2_password插件,省去了我转换插件的时间