`

转:Communications link failure mysql

 
阅读更多

转自:http://wangqiaowqo.iteye.com/blog/1147239

 

Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server was ***  millisecond ago。 

其中错误还会提示你修改wait_timeout或是使用Connector/J的autoReconnect属性避免该错误。 

后来查了一些资料,才发现遇到这个问题的人还真不少,大部分都是使用连接池方式时才会出现这个问题,短连接应该很难出现这个问题。这个问题的原因: 

MySQL服务器默认的“wait_timeout”是28800秒即8小时,意味着如果一个连接的空闲时间超过8个小时,MySQL将自动断开该连接,而连接池却认为该连接还是有效的(因为并未校验连接的有效性),当应用申请使用该连接时,就会导致上面的报错。 

 

1.按照错误的提示,可以在JDBC URL中使用autoReconnect属性,实际测试时使用了autoReconnect=true&failOverReadOnly=false,不过并未起作用,使用的是5.1版本,可能真像网上所说的只对4之前的版本有效。 

2.没办法,只能修改MySQL的参数了,wait_timeout最大为31536000即1年,在my.cnf中加入: 

[mysqld] 

wait_timeout=31536000 

interactive_timeout=31536000 

重启生效,需要同时修改这两个参数。 

分享到:
评论

相关推荐

    mysql 异常com.mysql.jdbc.CommunicationsException

    本次异常的具体描述为:“Communications link failure due to underlying exception: **BEGINNESTED EXCEPTION** java.io.EOFException STACK TRACE: java.io.EOFException at com.mysql.jdbc.MysqlIO.readFully...

    mysql-connector-java-8.0.23.zip druid-1.2.8.jar 资源包

    java 连接数据库资源包 mysql-connector-java-8.0.23.zip druid-1.2.8.jar

    Durid连接Mycat+MySQL过程中报1243错误的解决办法

    开始受到“Communications link failure”和“连接超时”等信息的误导,一直将问题定位在“MySQL 连接超时时间”Timeout 参数上,该参数默认为 8 小时,并且一直认为问题就出在 “MySQL”上,甚至于要大动干戈的将 ...

    pycharm工具连接mysql数据库失败问题

    在使用PyCharm这款强大的Python开发工具时,有时可能会遇到无法成功连接MySQL数据库的问题。这个问题主要是由于MySQL服务器返回的时区信息与PyCharm期望的不一致所导致的。MySQL默认使用UTC(协调世界时间)时区,而...

    MySQL wait_timeout连接超时

    这种现象在应用中可能导致突然的数据通信中断,表现为“Communications link failure”等错误,提示“Last packet sent to the server was 0 ms ago.”。为了解决这个问题,我们需要深入理解`wait_timeout`参数以及...

    Kettle所有数据库数据库连接驱动Jar

    其对应的Java驱动是`mysql-connector-java.jar`,用于在Java程序中建立与MySQL服务器的连接。 3. **Access**:虽然Access主要是一款桌面数据库,但通过Jet引擎,也可以使用ODBC或JDBC进行连接。在Java环境中,通常...

    阿里云ECS云服务器(linux系统)安装mysql后远程连接不了(踩坑)

    主要介绍了阿里云ECS云服务器(linux系统)安装mysql后远程连接不了(踩坑),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    关于MySQL的wait-timeout连接超时问题报错解决方案.docx

    ERROR [org.hibernate.util.JDBCExceptionReporter] - Communications link failure Last packet sent to the server was 0 ms ago. 这种错误信息表明,MySQL 连接已经超时,无法与服务器进行通信。如果不是第一次...

    浅析mysql交互式连接&非交互式连接

    这可能导致应用程序在尝试使用这些已断开的连接时遇到“Communications link failure due to underlying exception”异常。 解决这个问题的方法通常包括以下几点: 1. 调整`wait_timeout`值,增加到更长的时间,以...

    JDBC 程序的常见错误及调试方法

    错误信息可能表现为“***municationsException: Communications link failure due to underlying exception”以及一个***.ConnectException异常。这通常意味着无法建立到数据库服务器的网络连接。解决方法是确认IP...

Global site tag (gtag.js) - Google Analytics