错误原因
同一IP在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)error的数据库连接而导致的阻塞。
当客户端连接服务器超时(超过connect_timeout),服务端就会给这个客户端记录一次error,当出错的次数达到max_connect_errors的时候,这个客户端就会被锁定。所以可以根据业务来尽量把这个值设置大一点。
解决办法
1. 提高允许的max_connect_errors的数量
执行如下命令(临时生效,重启后失效)
set global max_connect_errors=500;
或者在mysql配置文件中新增以下配置(永久生效)
max_connect_errors=500
2. 使用清除缓存的方法,这样就会把计数清理掉
进入mysql控制台,执行flush hosts
mysql>flush hosts;
或者到mysql安装目录下,使用mysqladmin -u root -p flush-hosts命令,输入密码后,即完成清除缓存
参考地址
https://www.cnblogs.com/ruiy/p/11187084.html
https://blog.csdn.net/li_li_lin/article/details/72764683
问题: Host "xxx" is blocked because of many connection errors,unblock with 'mysqladmin flush-hosts
原文地址:https://www.cnblogs.com/kiko2014551511/p/11612970.html
时间: 2024-10-27 12:04:00