com.mysql.jdbc.exceptions.jdbc4.CommunicationsE...

解决com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 的错误

分析原因:

首先在mysql下用命令:mysql﹥ show global variables like 'wait_timeout'; 查看wait_timeout

com.mysql.jdbc.exceptions.jdbc4.CommunicationsE...

这里我的wait_timeout是60也就是一分钟,设置默认值太小

(取值范围:1-31536000(linux),interactive_time取值随wait_timeout变动)

所以如果在wait_timeout秒期间内,数据库连接(java.sql.Connection)一直处于等待状态,mysql就将该连接关闭。这时,你的Java应用的连接池仍然合法地持有该连接的引用。当用该连接来进行数据库操作时,就碰到上述错误

解决:在linux系统配置文件:/etc/my.cnf 

1.修改配置 

vi /etc/my.cnf 

wait_timeout = 604800

interactive_timeout = 604800

2:重启mysql服务( service mysqld restart)

# /etc/init.d/mysql restart 

到此那么连接超时的问题从数据库上就解决了。

备注:

 interactive_timeout:服务器关闭交互式连接前等待活动的秒数

 wait_timeout:服务器关闭非交互连接之前等待活动的秒数


你可能感兴趣的:(com.mysql.jdbc.exceptions.jdbc4.CommunicationsE...)