错误原因
同一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命令,输入密码后,即完成清除缓存
参考地址