MySQLNonTransientConnectionException:无法创建与数据库服务器的连接。已尝试重新连接 3 次。放弃

2022-09-03 16:02:04

我在连接到数据库时遇到问题。我认为有一个我不知道的地方有一个设置,需要改变。我在这里有一些非常基本的代码:

public static void main(String[] args)
{
    try
    {
        Connection con = DriverManager.getConnection("jdbc:mysql://IP:3306/TABLENAME?autoReconnect=true","USERNAME", "PASSWORD");
        con.close();
    }

    catch(Exception e)
    {
        e.printStackTrace();
    }
}

显然与登录信息。它会导致此错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Caused by: java.net.ConnectException: Connection refused

我已经查看了大约10个关于同一问题的不同帖子,并尝试了他们的解决方案,但仍然无法使其正常工作。


答案 1

当 MySQL 服务未运行并且您尝试连接到 mysql 数据库时,会出现此问题。

要在 Windows 中解决此问题,

  • 启动>>键入“服务”并将其打开。

  • 找到 MySQL 服务。可能名为MySQLxx。xx 是版本。
    例如。MySQL56, MySQL57 等

  • 启动该服务,现在尝试连接到数据库。


答案 2

增加 Mysql 最大连接,

SET GLOBAL max_connections = 1500;  

如果仍然收到错误,则查询可能需要很长时间才能响应。

在这种情况下,在创建 jdbc 连接时增加尝试次数,

&maxReconnects=XX 

推荐