【问题描述
】:
应用服务器那边发现连不到数据库,查看日志发现报错:
【解决方案 】:
读了日志发现该错误与connection errors有关,查了一下 max_connect_errors参数:
原来
是10,果然太小了。
查了一下5.5文档,官方给出了解决方案:
However, once a host is blocked, flushing the host cache is the only way to unblock it.
在mysql中执行:
或
执行指令
:
即可通过【
flushing the host cache
】来解锁这个“host
”
然后调大连接错误数,避免再次发生此类问题:(为Dynamic Variable)
最后添加/修改my.cnf,增加:
后来继续 查了一下5.5的文档发现,其默认值就为10,而 5.6.6以后的版本中,该默认值已经调到了100。
参考文档:
MySQL 5.5 Reference Manual / Chapter 5 MySQL Server Administration / 5.1.1 Server Option and Variable Reference
应用服务器那边发现连不到数据库,查看日志发现报错:
- selectSQL get mysql connection failed, err:Error: ER_HOST_IS_BLOCKED Host 'xx.xx.xx.xx' is blocked because of many connection errors ……
【解决方案 】:
读了日志发现该错误与connection errors有关,查了一下 max_connect_errors参数:
- SELECT @@global.max_connect_errors;
- +-----------------------------+
- | @@global.max_connect_errors |
- +-----------------------------+
- | 10 |
- +-----------------------------+
- 1 row in set (0.00 sec)
查了一下5.5文档,官方给出了解决方案:
However, once a host is blocked, flushing the host cache is the only way to unblock it.
在mysql中执行:
- mysql> FLUSH HOSTS;
- mysqladmin flush-hosts
然后调大连接错误数,避免再次发生此类问题:(为Dynamic Variable)
- mysql> SET @@global.max_connect_errors=100000;
最后添加/修改my.cnf,增加:
- max_connect_errors = 100000
后来继续 查了一下5.5的文档发现,其默认值就为10,而 5.6.6以后的版本中,该默认值已经调到了100。
参考文档:
MySQL 5.5 Reference Manual / Chapter 5 MySQL Server Administration / 5.1.1 Server Option and Variable Reference
![](http://img.blog.itpub.net/blog/attachment/201805/23/29773961_1527062722J5Yy.png?x-oss-process=style/bb)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29773961/viewspace-2079581/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29773961/viewspace-2079581/