cod*_*ner 11 mysql mysqlrouter
我已经在单主模式下配置了 InnoDB MySQL v8.0.19 组复制集群。我有几个 Web 应用程序按照建议的模式通过它们自己的 MySQL Router 实例以 1:1 关系访问集群。
一切似乎都工作正常,但我的主服务器的日志中充满了以下消息:
[Warning] [MY-013360] [Server] Plugin sha256_password reported: ''sha256_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
Run Code Online (Sandbox Code Playgroud)
转储该mysql.user表,我发现生成的 mysql_router 用户正在使用“mysql_native_password”插件,而所有其他用户都使用正确的“caching_sha2_password”插件。
这些 mysql 路由器是访问服务器的唯一客户端,所以我怀疑它在抱怨它如何访问集群。
有人知道如何解决这个警告吗?
小智 9
我遇到了同样的问题,警告填满了我的错误日志,而且表中没有用户mysql.user使用sha256_password. 正如这篇博文中所解释的,该警告具有误导性,问题是未注册用户试图登录 MySQL。
我们看到有关 的警告sha256_password而不是访问被拒绝错误的原因是:
当未找到用户名时,MySQL会随机分配一个身份验证插件并进行身份验证,最终拒绝该用户名
如上面链接的博客文章中所述,您可以使用连接控制插件来识别未注册的用户:
INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so';
INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';
select * from information_schema.CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS;
Run Code Online (Sandbox Code Playgroud)