MySQLNonTransientConnectionException:无法创建与数据库服务器的连接。尝试重新连接 3 次。放弃[重复]
Posted
技术标签:
【中文标题】MySQLNonTransientConnectionException:无法创建与数据库服务器的连接。尝试重新连接 3 次。放弃[重复]【英文标题】:MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up [duplicate] 【发布时间】:2016-08-18 01:20:40 【问题描述】:我无法连接到我的数据库。我认为某处有一个我不知道并且需要更改的设置。我这里有一些非常基本的代码:
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 篇关于同一问题的不同帖子,并尝试了他们的解决方案,但仍然无法正常工作。
【问题讨论】:
***.com/questions/2983248/… @FastSnail 我尝试了所有 BalusC 技巧,但仍然遇到同样的问题。 也读过这篇***.com/questions/6865538/… 链接答案不涵盖问题空间。提供的链接中未提及标题中的错误。就我而言,原来我的旧MySql5.7
想使用TLSv1.1
,它已被OpenJDK v11.0.11
版本阻止。要再次允许它,您可以从jdk.tls.disabledAlgorithms
in openjdk64-11.0.11/conf/security/java.security
的列表中删除TLSv1.1
。这是此问题的一个可能原因的一种可能解决方案。请重新提出问题。
请检查您的mysql服务器版本。它应该与您提到的依赖于 pom.xml 中的 mysql 连接器的 mysql 连接器版本兼容
【参考方案1】:
当 MySQL 服务未运行并且您尝试连接到 mysql 数据库时会出现此问题。
要在 Windows 中解决此问题,
开始>>键入“服务”并打开它。
找到 MySQL 服务。可能名称为 MySQLxx。 xx 是版本。例如。 MySQL56、MySQL57 等
启动服务,现在尝试连接到数据库。
【讨论】:
【参考方案2】:增加Mysql最大连接数,
SET GLOBAL max_connections = 1500;
如果仍然出现错误,则查询可能需要很长时间才能响应。
在这种情况下,在创建 jdbc 连接时增加尝试,
&maxReconnects=XX
【讨论】:
【参考方案3】:你必须使用数据库名而不是表名
【讨论】:
以上是关于MySQLNonTransientConnectionException:无法创建与数据库服务器的连接。尝试重新连接 3 次。放弃[重复]的主要内容,如果未能解决你的问题,请参考以下文章