参考:http://web2.0coder.com/archives/163
之前服务器遇到了这个错误:
Host ‘
host_name
‘ is blocked because of many connection errors.
Unblock with ‘mysqladmin flush-hosts’
产生原因:
原因是因为mysql的connection errors的数量达到了配置的max_connect_errors这个变量,5.0上默认配置是10,也就是说当连续有10个connect errors的时候,mysql就认为可能有人在攻击数据库,所以直接智能的ban掉这个ip。
注意这里是连续10个,如果还没有到10个,突然有一个成功的连接,则会把connect errors数量清0,重新计算。也就是说,如果已经有了8个连接connect error了,此时第9个成功连上,则当前的connect_errors计数清零。可以通过:
mysql > show variables like ‘max_connect_errors’;
来查看当前配置的这个参数值。可以通过修改conf文件中的max_connect_errors变量来修改此参数,然后重启当前服务器。
解决方法:
在确认host name的ip是正常的ip后,并且确认没有很不稳定的网络连接原因,即,在确认这是一次正常的block之后,可以通过
mysqladmin flush-hosts
来清掉本次block,也可以登进mysql后,在命令行用mysql > flush hosts; 来清理。