mysql 8.0.x
zabbix 5.0.x
php 7.2.0
The server requested authentication method unknown to the client
这个报错很明显就是密码插件的问题. 但使用`select user,host,plugin`看到的加密方式为mysql_native_password
查看zabbix日志, 未发现连接报错问题, 抓包发现zabbix是能正常连接mysql的, 相关SQL也是正常执行的.
那就是php连接mysql的问题了
查看php版本为7.2.0, 该版本不支持caching_sha2_password, 7.2.8版本开始支持caching_sha2_password了
但我密码是使用的mysql_native_password加密的啊 这就得回顾下之前mysql连接过程了, 可以使用之前那个流量镜像脚本观察(真好用...), 连接的时候server发送的第一个包就包含密码插件信息(select @@default_authentication_plugin;)
方法1: 设置default_authentication_plugin为mysql_native_password (需要重启)
方法2: 升级php版本 (比如7.2.8)
authentication method相关报错基本上都是caching_sha2_password的问题, 所以建议安装mysql的时候就设置default_authentication_plugin=caching_sha2_password 可以避免很多问题.
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。