原因:
同意ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)终端的数据库连接而导致的阻塞;
由于MYSQL数据库的参数:max_connect_errors(系统默认10) mysqld已经得到了大量(max_connect_errors)的主机’hostname’的在中途被中断了的连接请求累计超过10次,就再也无法连接上mysqld服务,同一个ip在短时间内产生太多中断的数据库连接而导致的阻塞(超过mysql数据库max_connection_errors的最大值)
1、进入mysql控制台
https://jingyan.baidu.com/article/3c343ff7c3ada20d37796336.html
2、更改最大错误连接数或者清除缓存
1、可以更改max_connection_errors的值,即提高允许的max_connection_errors的数量
(1)首先查看该属性设置为多大:命令:show global variables like '%max_connect_errors%';
(2)然后修改该属性
(3)再次查看
(4)如果需要永久解决问题
如果需要永久生效,得去修改mysql配置文件里相应属性。可能配置文件里没有这个属性,需要自己手动添加
(5)注意:
当客户端连接服务端超时(超过connect_timeout), 服务端就会给这个客户端记录一次error,当出错的次数达到max_connect_errors的时候,这个客户端就会被锁定。所以根据业务来尽量把这个值设置大一点,mysql默认值为10,我们可以根据具体需要设置大一点,这里设置为1000.(并非越大越好,越大被攻击时安全性越低)
2、使用清楚缓存的方法,这样就会把计数清理掉,进入mysql控制台,执行:flush hosts;