一 问题描述
我们使用的是haproxy+maxscale+mariadb的架构,haproxy代理maxscale,maxscale代理mariadb。
有同事反馈使用客户端工具连接mariadb的代理ip报错:
有时能连上,有时连不上。
maxscale日志也有报错:
2021-08-19 22:37:01 warning: (10) [MariaDBAuth] svc-cls01: login attempt for user 'baidd'@[::ffff:192.168.144.249]:42006, authentication failed. User not found. (subsequent similar messages suppressed for 10000 milliseconds)
2021-08-19 22:37:04 notice : (188) Host '::ffff:192.168.144.249' blocked for 60 seconds due to too many authentication failures.
二 出错原因
程序里配置的数据库账号密码配错了,超过了maxscale中参数max_auth_errors_until_block(默认值为10)*threads的值,因此该ip会被阻塞60秒,这期间,从该ip过来的所有连接(即使密码正确)都将无法连上maxscale。
三 解决办法
① 修正程序里的数据库账号密码
② 调大max_auth_errors_until_block值