Host 'xxx' is blocked because of many connection errors
最近一台mysql服务器报错:ERROR 1129 (00000): Host 'xxx' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts'。
问题原因
因为同一个IP在短时间内产生太多中断的数据库连接(超过max_connect_errors的最大值)而导致的
关于某个IP输入了错误密码,MySQL会在performance_schema数据库下的host_cache表中记录。它会累计记录在COUNT_AUTHENTICATION_ERRORS字段
解决方法
知道了问题原因就容易着手解决问题了
临时解决方法
- 增加max_connection_errorsd的值
- 情况错误数据记录表
flush hosts
根本解决方法
找到频繁报错的所在应用,将错误的密码调整正确,避免产生新的连接错误