MySql Host is blocked because of many connection errors 问题的解决方法
错误日志:
message from server: "Host '10.250.112.141' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
原因:
同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;
解决方法:
1、提高允许的max_connect_errors数量(这种方法不彻底,后期还可能导致异常出现):
进入Mysql数据库查看max_connect_errors: show variables like 'max_connect_errors';
修改max_connect_errors的数量为1000: set global max_connect_errors = 1000;
查看是否修改成功:show variables like 'max_connect_errors';
2、使用mysqladmin flush-hosts 命令清理一下hosts文件
(1)如果是安装在Linux主机上的,可以通过whereis mysqladmin查找mysqladmin的路径
使用命令修改:
/usr/bin/mysqladmin flush-hosts -h 10.250.112.141 -uroot -p
备注:
配置有master/slave主从数据库的要把主库和从库都修改一遍
(2)如果是在数据库连接软件上也可以在命令列工具里修改,命令如下:flush hosts;
mysql> flush hosts;
重新启动程序,查看数据库连接是否正常就好啦。