The server requested authentication method unknown to the client

本文描述了在使用Docker部署Zabbix时,由于MySQL8.0.x版本加密方式变化导致的连接问题。解决方法是修改数据库配置,将Zabbix用户的身份验证方式从SHA256切换回MySQL_native_password。

项目场景:

docker部署zabbix遇到mysql


问题描述

部署成功后打开8080端口后遇到mysql数据库连接报错
The server requested authentication method unknown to the client


原因分析:

mysql 8.0.X版本后加密方式的改变,查看信息
mysql>
mysql>show variables like ‘%password%’;

–±---------------------------------------------±----------------+
| Variable_name | Value |
±---------------------------------------------±----------------+
| caching_sha2_password_auto_generate_rsa_keys | ON |
| caching_sha2_password_private_key_path | private_key.pem |
| caching_sha2_password_public_key_path | public_key.pem |
| default_password_lifetime | 0 |
| disconnect_on_expired_password | ON |
| generated_random_password_length | 20 |
| mysql_native_password_proxy_users | OFF |
| password_history | 0 |
| password_require_current | OFF |
| password_reuse_interval | 0 |
| report_password | |
| sha256_password_auto_generate_rsa_keys | ON |
| sha256_password_private_key_path | private_key.pem |
| sha256_password_proxy_users | OFF |
| sha256_password_public_key_path | public_key.pem -

解决方案:

修改数据库配置
mysql>ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘密码’;
mysql>ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH WITH mysql_native_password BY ‘密码’;
mysql>ALTER USER ‘zabbix’@‘%’ IDENTIFIED WITH sha256_password BY ‘密码’;
FLUSH PRIVILEGES;

查看配置信息:
-----------±-------±-----------------±----------------------+
| host | user | password_expired | plugin |
±----------±-------±-----------------±----------------------+
| % | root | N | mysql_native_password |
| % | zabbix | N | sha256_password |
| localhost | root | N | mysql_native_password |
±----------±-------±-----------------±----------------------+
打开8080端口,zabbix正常登录

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值