接到客户的电话,说我做的一个软件(从公网主机MySQL数据库下载数据)提示“无法连接网络数据库”,但是从单位将软件拷贝回家用却正常。这种情况以前也遇到过,主要问题很可能是:用户IP被屏蔽了。
从网络上找到的资料如下:
======================================================================
host ''hostname'' is blocked because of many connection errors.
这意味着,mysqld已经得到了大量(max_connect_errors)的主机''hostname''的在中途被中断了的连接请求。在max_connect_errors次失败请求后,mysqld认定出错了(认为这是来自一个黑客的攻击),于是阻止该站点进一步的连接,直到执行命令mysqladmin flush-hosts。
缺省地,mysqld在10个连接错误后阻塞一台主机。可以通过下面的代码调整它:
shell> safe_mysqld -o max_connect_errors=10000
======================================================================
呵呵我的处理更简单,直接重启MySQL!