天天看点

Host '***' is blocked because of many connection errors...

本地工具连接MYSQL出错:

 Host '***' is blocked because of many connection errors...

问题分析:

数据库出现异常,请重启数据库。

解决方法:

由于存在很多连接错误,主机'****'被屏蔽,虚拟主机用户请联系空间商处理,独立主机用户请联系服务器管理员,在 Windows 或 Linux 的命令行控制台下执行

MySQLadmin flush-hosts 
      

解除屏蔽即可,或者重启 MySQL 数据库。

详细分析如下:

出现Host ‘XXXXXX’ is blocked because of many connection errors这种错误我们只要在my.ini 修改set global max_connect_errors=1000;后面的1000是连接大小适当就可以了。

ERROR 1129 (00000): Host ‘XXXXXX’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

这说明mysqld已经得到了大量(max_connect_errors)的主机’hostname’的在中途被中断了的连接请求。在 max_connect_errors次失败请求后,mysqld认为数据库出错了,并且阻止该站点进一步的连接,直到有人执行命令 mysqladmin flush-hosts。

缺省地,mysqld在10个连接错误后阻塞一台主机。你可以通过很容易地调整它:

set global max_connect_errors=1000;

注意,对给定的主机,如果得到这个错误消息,你应该首先检查该主机的TCP/IP连接有没有问题。如果你的TCP/IP连接不在运行,增加max_connect_errors变量的值也不会有帮助!

最后我们记得要重启mysql或 /usr/local/mysql/bin/mysqladmin flush-host -h 192.168.50.1 -uroot 哦,这样就可以解决问题了。

连接MySQL失败,除了权限问题之外,还遇到这种情况,出错信息:Host XXX is blocked because of many connection errors, unblock with 'mysqladmin flush-hosts'。而且XXX还不是IP地址而是domain name。MySQL服务器和客户端在同一台测试及其上,连接的时候用的mysql -u root -h ipaddr。

查看机器的hosts配置,确实有domain name映射到本机地址,但是有变化,旧的已经注视掉,但错误信息显示的host name是注释掉的结果,应该跟缓存有关。

继续阅读