未知变量'mysql-native-password=ON'

问题描述 投票:0回答:1

我在一些项目中使用 Docker 和 MySQL。由于默认删除了 MySQL 8.4 上的 mysql_native_password 插件,我遇到了一些问题。我已按照说明启用它,上周它工作正常。

做了这个:

  • 在图像上添加命令:--mysql-native-password=ON
本周我在与上周相同的基础设施上遇到此错误

未知变量'mysql-native-password=ON

有人可以帮我解决这个问题吗,因为这很令人困惑?

mysql docker
1个回答
0
投票

您最近升级过MySQL版本吗?

我总是使用 docker 拉取 MySQL 的最新映像,并注意到与您相同的问题。事后看来,这可能并不明智。对我来说,这个问题是在 MySQL 从 8.x.x 更新到 9.x.x 时发生的:

事实上,在查看补丁说明后,我发现:

mysql_native_password 身份验证插件,在 MySQL 中已弃用 8.0 已被删除,服务器现在拒绝来自不具备 mysql_native 权限的旧客户端程序的 mysql_native 身份验证请求 CLIENT_PLUGIN_AUTH 功能。为了向后兼容, mysql_native_password 在客户端上仍然可用;客户端 内置身份验证插件已转换为动态的 可加载插件。注意

这些更改还需要删除以下服务器选项 和变量:

The --mysql-native-password server option

https://dev.mysql.com/doc/relnotes/mysql/9.0/en/news-9-0-0.html

如果您已经升级到9.x.x,则很难降级。您可能需要找到另一种方式来进行身份验证...

© www.soinside.com 2019 - 2024. All rights reserved.