美文网首页
2、mysql重连问题

2、mysql重连问题

作者: xinput | 来源:发表于2018-08-13 19:11 被阅读0次

问题描述

2018-08-13 16:50:54  [ qtp2048834776-21:Slf4JLogger:79539 ] - [ ERROR ]  Begin Transaction error !
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 40,578,310 milliseconds ago.  The last packet sent successfully to the server was 40,578,315 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

错误原因

Mysql服务器默认的“wait_timeout”是8小时【也就是默认的值默认是28800秒】,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection,通俗的讲就是一个连接在8小时内没有活动,就会自动断开该连接。而应用连接池却认为该连接还是有效的(因为并未校验连接的有效性),当应用申请使用该连接时,就会导致上面的报错。

解决方法

1、autoReconnect=true

按照日志提示,设置autoReconnect=true会自动连接。但是查看线上配置环境已经这么设置了,网上很多人说mysql客户端5.0后不支持这个配置了,即设置了也没有任何用。

2、dpcp连接池

dpcp属性明细.jpg

3、c3p0

通过idleConnectionTestPeriod和maxIdleTime 这两个参数的配置,具体就是必须小于mysq server端的wait_time时间设置

相关文章

  • 2、mysql重连问题

    问题描述 错误原因 Mysql服务器默认的“wait_timeout”是8小时【也就是默认的值默认是28800秒】...

  • Yii2实现mysql断线重连[转载]

    最近遇到“Yii2实现mysql断线重连”问题,找了好久资料,最后找到这篇文档是说明了该情况的,感谢这位作者的分享...

  • yii和yii2连接mysql以及oracle

    yii连接mysql yii连接oracle yii2连接mysql yii2连接oracle

  • Mina-tcp与NIO通信问题

    1.消息解码,编码问题 2.sessionIdle的几个用处 3、断线重连

  • 断线重连问题综述

    断线重连主要涉及到几个问题: 判定断线 怎么重连 重连后如何还原游戏环境 判定断线有两种方式,(1)是超时判定断线...

  • Jedis断线重连问题

    问题以及现象 前一阵子发现redis断线重连后,会出现类似如下的错误: 解决思路 socket write err...

  • mysql开关远程访问权限

    如果上面的命令不能及时生效,关闭使用mysql的软件或者程序,然后重连。

  • 状态同步的断线重连

    最近陆陆续续在给游戏做断线重连相关的工作,大厅服的断线重连问题不是很大,难点主要在于战斗中的断线重连。断线重连要解...

  • 对mysql left join 出现的重复结果去重

    对mysql left join 出现的重复结果去重 简单说明问题出现的原因: MySQL left join 语...

  • MySQL in 走不走索引?

    1. 连表查询或采用临时表会走索引 参考:解决MySQL中IN子查询会导致无法使用索引问题 2. 如果 in ...

网友评论

      本文标题:2、mysql重连问题

      本文链接:https://www.haomeiwen.com/subject/dgwubftx.html