MySQL:Communications link failure问题

项目在访问mysql数据库时,常会出现Communications link failure错误,具体貌似是一个空闲连接超过数据库设置的"wait_timeout",MySQL会将该个连接out掉,而mysql连接池还认为该连接是有效的(MySQL的wait_timeout设置的参数跟连接池设置的超时时间不一致,wait_timeout > 连接池所设置的时间),因此错误就出现了

网上看了一下各种方法,觉得比较靠谱的解决方法

第一 :在连接数据库的url上,添加参数 &autoReconnect=true&failOverReadOnly=false

第二:

修改my.cnf: (未找到my.cnf,直接改的my.ini文件)

[mysqld]

wait_timeout=31536000

interactive_timeout=31536000

问题不知是否已经解决,大家还有别的其它的方法么?

还有一个问题,如上所示的问题出现原因,为什么感觉这个问题出现并没有什么固定的周期,而感觉是随机出现。并且请教大家的另一个问题是mysql是如何分配连接的,不同的连接之间如何区别。每一次连接都会分配一个连接么?

时间: 2024-10-02 21:04:53

MySQL:Communications link failure问题的相关文章

mysql Communications link failure (with http request)

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during rollback(). 看到这个错误后先查看代码,首先想到,我先打开的数据库连接,并且执行了query和insert操作都没问题啊,但是最后的回滚就出问题了,下面根据日志分析一下: 解决方案: 1. 修改Http请求时间,连接请求超时+读取超时<60ms 2. 不要将HTTP请求放到数据库

Mysql Communications link failure 问题的解决

问题现象 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. I spend some days to solve this

mysql Communications link failure,C3p0的参数详解

MySQL默认一个连接空闲8小时候就会自动断开,而这时程序以为连接还能使用,然后在使用的时候就会出现Communications link failure异常. 这时需要进行两步设置,有时候只设置MySQL就可以了. 一.在MySQL的配置文件(linux配置文件是my.cnf,windows配置文件为my.ini)中添加以下两行(默认值为28800,下面的值代表一年.听说windows下的MySQL不支持一年,可以适当减少尝试) wait_timeout=31536000 interactiv

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

启动Tomcat时,发生如下异常: DEBUG resourcepool.BasicResourcePool  - An exception occurred while acquiring a poolable resource. Will retry. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 数据库报错

-- 查询mysql 数据库链接空闲时间持有最大空闲时间,单位为秒 SHOW VARIABLES WHERE VAriable_name = 'interactive_timeout'; -- 会出现wait_timeout与该参数意思相近,修改时,一起修改 SHOW VARIABLES WHERE VAriable_name = '%timeout'; -- 解决问题 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Commun

mysql 5.1超过默认8小时空闲时间解决办法(错误:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure)

报错: MySQL第二天早上第一次连接超时报错, com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 原因: 上述问题是由mysql5数据库的配置引起的.mysql5将其连接的等待时间(wait_timeout .interactive_timeout)缺省为8小时.在其客户程序中可以这样来查看其值: mysql> show global variables like 'wait

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

1.错误描述 [ERROR:]2015-11-05 14:37:52,558 [插入失败] report.service.impl.ReportServiceImpl org.hibernate.exception.JDBCConnectionException: error executing work at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegat

MySQL异常【数据库断开连接】:Communications link failure

一.异常信息以及解决办法        com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure  org.springframework.transaction.CannotCreateTransactionException:      Could not open JDBC Connection for transaction;      nested exception isco

异常解决com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

21:37:08,815 DEBUG BasicResourcePool:1831 - An exception occurred while acquiring a poolable resource. Will retry.com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was