这篇文章用于整合碰到的MySQL的问题,后续会进行不断补充。
1. Host 'xxx.xxx.xxx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
简单来说这个问题出现是因为MySQL会统计同一个IP连接错误的次数,在一定时间内超过一定次数的错误连接将会锁住数据库不能够继续访问。这样做主要是为了防止外部暴力破解服务器密码。出现这个错误最常见的原因就是连接不稳定。
最大连接错误可通过以下命令查看:
show global variables like '%max_connect_errors%';
解决方法有三个:
- 将这个错误连接次数设置大些,比如:
set global max_connect_errors=1000;
这个数值设置越大,风险越高。
- 清除掉hosts cache信息
flush hosts;
- 设置数据库不记录host信息(不推荐)
set global host_cache_size=0;
如上所说,关闭host信息记录会有风险。
网友评论