Answers:
此时,您可能需要运行FLUSH HOSTS并查看它是否解除阻止。
MySQL文档说了有关FLUSH HOSTS的内容:
- 清空主机缓存表。如果某些主机更改了IP地址,或者收到错误消息“主机名”被阻止,则应该刷新主机表。当给定主机连接到MySQL服务器时,如果连续发生多个max_connect_errors错误,则MySQL认为出了点问题,并阻止了主机发出进一步的连接请求。刷新主机表可从主机进行进一步的连接尝试。请参见第C.5.2.6节“主机'host_name'被阻止”。您可以使用--max_connect_errors = 999999999启动mysqld以避免出现此错误消息。
为什么要阻止主机开始?
根据MySQL文档:
如果收到以下错误,则表明mysqld从主机'host_name'接收到许多连接请求,但这些请求在中间被中断:由于许多连接错误,主机'host_name'被阻止。使用“ mysqladmin flush-hosts”取消阻止允许的中断连接请求的数量由max_connect_errors系统变量的值确定。在max_connect_errors请求失败后,mysqld认为出了点问题(例如,有人试图闯入),并阻止主机进一步连接,直到执行mysqladmin flush-hosts命令或发出FLUSH HOSTS语句为止。请参见第5.1.3节“服务器系统变量”。
默认情况下,mysqld会在10个连接错误后阻止主机。您可以像这样启动服务器来调整值:
shell> mysqld_safe --max_connect_errors=10000 &
如果收到给定主机的此错误消息,则应首先验证该主机的TCP / IP连接没有任何问题。如果您遇到网络问题,那么增加max_connect_errors变量的值对您没有好处。