1. 报错内容
message from server: "Host '172.18.X.X' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
2. 问题发生场景
数据库使用navicat访问正常,业务系统无法正常访问。
3. 排查结果
经运维排查,MySQL数据库账户因为连续多次尝试使用错误密码登录而被锁定。MySQL有一个用于保护账户的安全机制,当检测到多次失败的登录尝试,账户会被暂时禁止更多的登录尝试以防止暴力破解。当这种情况发生时,会在MySQL的错误日志中记录一条消息,提示账户被锁定。
查看MySQL日志命令
systemctl status mysqld
cat /etc/my.cnf
tail -fn1000 /var/log/mysqld.log
4. 解决办法
用超级管理员账户登录MySQL,刷新hosts
flush hosts;