连接mysql异常Communications link failure
连接mysql 数据库的时候出现这个异常Communications link failure,原因:如果在wait_timeout秒期间内,数据库连接(java.sql.Connection)一直处于等待状态,mysql5就将该连接关闭。这时,你的Java应用的连接池仍然合法地持有该连接的引用。当用该连接来进行数据库操作时,就碰到上述错误。
一般的mysql数据库设置的wait_timeout时间都是8小时,(因为设置太长时间影响性能,因为改大会有返回信息延时的情况,和大量的SLEEP进程无法及时释放的问题),所以还是得从客户端这边解决问题,
网上一般给出的解决办法:
1.mysql5以前的版本可以直接在jdbc连接url的配置中附加上“autoReconnect=true”。
2.将mysql的全局变量wait_timeout的值修改为最大。查看mysql5的手册,发现windows和linux下wait_timeout的最大值分别是24天和365天。
(1).在文件my.ini的最后增加一行:wait_timeout=1814400。(该文件,windows下在mysql的安装目录下,linux下位置为/etc/my.ini)
(2).重启mysql。
还有说把ip改成localhost的,因为我连的数据库不是我自己本地的,所以这种情况也就没有尝试
而且由于数据库是第三方提供的,他们也不给改等待时间
所以只好再想办法。
我的方法就是每次连得时候都去校验有效性,c3p0连接池配置加属性
<property name="testConnectionOnCheckin"> <value>true</value> </property> <property name="idleConnectionTestPeriod"> <value>60</value> </property> <property name="testConnectionOnCheckout"> <value>true</value> </property> <property name="maxIdleTime"> <value>28000</value> </property>
这些属性解析:
testConnectionOnCheckin:如果设为true那么在取得连接的同时将校验连接的有效性。默认为false。
idleConnectionTestPeriod: 连接池每隔60秒自动检测数据库连接情况,如果断开则自动重连。
testConnectionOnCheckout: 因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的时候都
将校验其有效性。
maxIdleTime:最大空闲时间,超过空闲时间的连接将被丢弃。为0或负数则永不丢弃。默认为0;
这个肯定是要设置的<=wait_timeout 了
连接mysql异常Communications link failure相关推荐
- KettleError connecting to database: (using class org.gjt.mm.mysql.Driver)Communications link failure
先看错误: 错误连接数据库 [JDOrd] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while ...
- Docker之MySQL主从连接提示:Communications link failure
今天在使用Apache ShardingSphere实现数据库读写分离功能,连接基于Docker的MySQL5.7 主从IP.SpringBoot程序提示如下错误信息: com.mysql.jdbc. ...
- Mysql数据库“Communications link failure due to underlying exception”问题
MySQL默认的空闲等待时间是8个小时,一旦空闲超过8个小时,就会抛出"Communications link failure due to underlying exception&quo ...
- 【Mysql】Communications link failure,The last packet sent successfully to the server was 0 millisecond
项目背景是数据库和项目不在同一台服务器下,在启动时,突然遇到以下错误: Exception in thread "main" com.mysql.jdbc.exceptions.j ...
- Druid 连接池 报错 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
场景赘述 早晨查看项目前一天的实际运行日志,发现了 一个Springboot项目中的druid 连接池和 mysql 产生了异常信息,重连暂并未对系统产生影响 下面是具体报错信息: com.mysql ...
- Mysql异常之Communications link failure
前天线上出现数据数据抖动,收到大量异常告警,都要疯了,数据库出现大量异常,肯定第一件事就是看下数据库监控数据,发现有一个从分片执行时间有一个50多秒的操作,这里肯定有问题了,第一时间找了dba,经过排 ...
- mac之idea连接MySQL数据库报com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
项目场景: 最近入手了一台MacBookPro(谨慎尝试,用惯了windos后使用感具别扭,需要大量时间来适应),下载了最新的idea和最新的mysql8.0.23,然后开始了漫长而艰辛的开始,各种没 ...
- IDEA连接MySQL失败-[08S01] Communications link failure
一.问题现状描述 使用IDEA启动maven项目,报错连接MySQL数据库失败,尝试用IDEA的database插件,连接本地MySQL库(Windows10本机搭建) 报错结果如下: [08S01] ...
- MySQL连接问题: MySQLNonTransientConnectionException:Communications link failure during rollback()
昨天线上出现了这样的一个问题:MySQLNonTransientConnectionException:Communications link failure during rollback() 初步 ...
最新文章
- mac下Android studio配置gradle的路径
- c++ set有序性
- JVM运行时栈帧结构
- 20145328《网络对抗》Web基础
- raptor五个数排序流程图_经典算法系列之:选择排序
- Three.js入门
- ARC107——D - Number of Multisets
- MySQL的explain工具介绍
- java 配置hdfs集群_Hadoop集群搭建-04安装配置HDFS
- 智能一代云平台(二十三):Mycat高可用的探索
- Python基础——min/max与np.argmin/np.argmax
- 今日总结------技术是最不值钱的
- 华为FreeBuds 5耳机声音变小怎么办?
- java实现动态加载jar包中的class(破坏双亲委派来实现)
- python话圣诞树_python画圣诞树
- wxpython后台线程更新界面控件方法
- 机器学习中对数据集进行拆分及模型训练
- Blackbox_exporter黑盒监测
- 默认网络设备流量控制
- 较全面的常见的OJ评判结果以及它们表示的意思