我正在使用 Google Kubernetes Engine (GKE) 来部署 MySQL。最近,我升级到了
mysql:latest
image,它现在指向MySQL 9.0。由于MySQL 9.0完全删除了mysql_native_password
身份验证插件,我无法再连接到MySQL控制台,也无法将我的root帐户更新为caching_sha2_password
。
这是我面临的问题:
Plugin 'mysql_native_password' is not loaded.
default_authentication_plugin=caching_sha2_password
或 mysql_native_password=ON
,但 Pod 崩溃并出现错误,指出未找到未知变量 default_authentication_plugin=caching_sha2_password
或 mysql_native_password
。mysql:latest
图像导致部署MySQL 9.0。mysql_native_password
未加载。default_authentication_plugin=caching_sha2_password
添加到 MySQL 配置。mysql_native_password=ON
到 MySQL 配置。Cannot downgrade from 90000 to 80401. Downgrade is only permitted between patch releases.
提前感谢您的帮助!
MySQL 8.0 不再支持 mysql_native_password 插件。但是,如果您升级到9.0,该插件将被删除并替换为更强的身份验证方法。以下是解决连接问题的两种可能的解决方案:
选择替代身份验证包:
从 MYSQL 9.0 中的默认 caching_sha2_password 开始,您可以选择迁移客户端工具以使用此特定插件。参考您自己的客户端文档应该给出详细的概述。|
将MYSQL版本降回8.0:
如果部署不包含 caching_sha2_password,则改用 mysql_native_password 插件,并将部署映像降级到 MYSQL 8.0。
请参阅 Frederic Descamps 的 Oracle MySQL 博客