7

嗨,我正在将 Java 与 MySql 一起使用。我已经使用了一些 x 托管服务,因为我已经部署了我的 java .war 文件,它工作了几天,因为 2 天我收到了一些错误,即

java.sql.SQLException:null,来自服务器的消息:“由于许多连接错误,主机'X主机'被阻止;使用'mysqladmin flush-hosts'解除阻止”。

我使用了普通的数据库连接以及连接池。

我的代码是:

Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://IP Address:3306/DBName?user=xxxxx&password=YYYYYYY");

..

请给出解决方案..

4

2 回答 2

6

使用 'mysqladmin flush-hosts' 解除对主机的阻塞或增加 max_connect_errors 参数将解决问题。

服务器启动:

shell> mysqld_safe --max_connect_errors=10000 &

运行:

mysql> SET GLOBAL max_connect_errors=10000;

但应确定连接错误的原因。可以通过 * 检查 MySQL.err 日志文件 * 检查主机中的 TCP/IP 连接参数来识别

参考: http: //dev.mysql.com/doc/refman/5.0/en/blocked-host.html http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html #sysvar_max_connect_errors

于 2013-08-06T06:41:03.327 回答
1

要恢复系统,您可能必须重新启动 mysql 服务器。

$ sudo service mysql restart

要停止再次发生这种情况,在重新启动之前增加低于值,

$ mysql> SET GLOBAL max_connections = 500;
$ mysql> SET GLOBAL max_connect_errors=10000;

要查看当前值,请通过my.cnf

$ vi /etc/mysql/my.cnf

希望这可以帮助!

于 2016-05-30T12:29:47.703 回答