B.4.2.5 主机'host_name'被阻止

如果发生以下错误,则 table 示mysqld已收到来自给定主机的许多连接请求,这些请求在中间被中断:

Host 'host_name' is blocked because of many connection errors.
Unblock with 'mysqladmin flush-hosts'

max_connect_errors系统变量的值确定允许多少个连续的中断连接请求。在max_connect_errors个没有成功连接的失败请求之后,mysqld假设出了点问题(例如,有人试图闯入),并阻止了主机 continue 连接,直到您通过执行FLUSH HOSTS语句,TRUNCATE TABLE语句刷新主机缓存为止会截断 Performance Schema host_cachetable 或mysqladmin flush-hosts命令。

要调整允许的连续连接错误数,请在服务器启动时设置max_connect_errors。例如,将这些行放在服务器my.cnf文件中:

[mysqld]
max_connect_errors=10000

该值也可以在运行时设置:

SET GLOBAL max_connect_errors=10000;

如果收到给定主机的Host 'host_name' is blocked错误消息,则应首先验证该主机的 TCP/IP 连接没有问题。如果您遇到网络问题,则增大max_connect_errors的值是没有好处的。

有关主机缓存如何工作的更多信息,请参见第 5.1.11.2 节“ DNS 查找和主机缓存”