原文是在博客上的:小重合之旅

链接如下:未经过作者同意,这里注明下。

1,问题现象:

com.MySQL.jdbc.CommunicationsException: The last packet successfully received from the server was58129 seconds ago.The last packet sent successfully to the server was 58129 seconds ago, which 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.

解决办法:

如果连接闲置8小时 (8小时内没有进行数据库操作), mysql就会自动断开连接, 要重启tomcat.

不用hibernate的话, connection url加参数: autoReconnect=true

用hibernate的话, 加如下属性:

name="connection.autoReconnect">true

name="connection.autoReconnectForPools">true

name="connection.is-connection-validation-required">true

要是还用c3p0连接池:

name="hibernate.c3p0.acquire_increment">1

name="hibernate.c3p0.idle_test_period">0

name="hibernate.c3p0.timeout">0

true

2,另外:关于Mysql链接参数的说明如下:

mysql JDBC

Driver

常用的有两个,一个是gjt(Giant JavaTree)组织提供的mysql驱动,其JDBC Driver名称(Java类名)为:org.gjt.mm.mysql.Driver

详情请参见网站:http://www.gjt.org/

另一个是mysql官方提供的JDBC Driver,其JAVA类名为:com.mysql.jdbc.Driver

驱动下载网址:http://dev.mysql.com/downloads/,进入其中的MySQL Connector/J区域下载。

mysql JDBC URL格式如下:

jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]...

现只列举几个重要的参数,如下表所示:

参数名称

参数说明

缺省值

最低版本要求

user

数据库用户名(用于连接数据库)

所有版本

password

用户密码(用于连接数据库)

所有版本

useUnicode

是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true

false

1.1g

characterEncoding

当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbk

false

1.1g

autoReconnect

当数据库连接异常中断时,是否自动重新连接?

false

1.1

autoReconnectForPools

是否使用针对数据库连接池的重连策略

false

3.1.3

failOverReadOnly

自动重连成功后,连接是否设置为只读?

true

3.0.12

maxReconnects

autoReconnect设置为true时,重试连接的次数

3

1.1

initialTimeout

autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒

2

1.1

connectTimeout

和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本

0

3.0.1

socketTimeout

socket操作(读写)超时,单位:毫秒。 0表示永不超时

0

3.0.1

对应中文环境,通常mysql连接URL可以设置为:

jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk&autoReconnect=true&failOverReadOnly=false

在使用数据库连接池的情况下,最好设置如下两个参数:

autoReconnect=true&failOverReadOnly=false

需要注意的是,在xml配置文件中,url中的&符号需要转义成&。比如在tomcat的server.xml中配置数据库连接池时,mysql jdbc url样例如下:

jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk

&autoReconnect=true&failOverReadOnly=false

mysql 超时异常捕获_Mysql的链接超时异常CommunicationsException相关推荐

  1. 线程的异常捕获与线程池的异常捕获

    线程的异常捕获与线程池的异常捕获 参考文章: (1)线程的异常捕获与线程池的异常捕获 (2)https://www.cnblogs.com/wscit/p/6100476.html (3)https: ...

  2. 电视连接后显示服务器异常,电视老显示链接服务器异常

    电视老显示链接服务器异常 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 介绍无 ...

  3. mysql sleep详解_mysql sleep链接过多的原因及解决办法

    今天收到运维同事短信,说有个线上业务"可能是数据库DB堵塞了,导致mysql链接过多,让我看一下". 回家后赶紧用家里vpn登录数据库服务器,show processlist 看了 ...

  4. mysql 链式查询_MySQL的链接查询

    内连接 inner join  ....on...../join ....on... :将两个表中同时符合on条件的记录查询出来    inner可以省略 select *from person in ...

  5. mysql怎么消除笛卡尔积_mysql左链接笛卡尔积如何避免?

    我有一张表如图 id projectName pId cDate amount period contractNum ownerName archives 1  江夏区大桥 1 2017 190000 ...

  6. spring框架做全局异常捕获_@ControllerAdvice注解(全局异常捕获)

    背景 @ControllerAdvice 注解 通常用于定义@ExceptionHandler, @InitBinder和@ModelAttribute 适用于所有@RequestMapping方法的 ...

  7. springboot怎么返回404_深度分析:SpringBoot异常捕获与封装处理,看完你学会了吗?...

    简介 日常开发过程中,难免有的程序会因为某些原因抛出异常,而这些异常一般都是利用try ,catch的方式处理异常或者throw,throws的方式抛出异常不管.这种方法对于程序员来说处理也比较麻烦, ...

  8. mfc try catch 捕获并显示_你的异常捕获够优雅不?求你别只会try{...} catch{...}了

    文章来源 | cnblogs.com/jurendage/p/11255197.html 作者 | 巨人大哥 软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理 ...

  9. PHP的异常处理异常捕获错误类

    1.错误分类 Fatal Error:致命错误(脚本终止运行)E_ERROR // 致命的运行错误,错误无法恢复,暂停执行脚本E_CORE_ERROR // PHP启动时初始化过程中的致命错误E_CO ...

  10. Python异常捕获及自定义异常类

    Python异常捕获及自定义异常类 一.什么是异常? 异常是一个与业务逻辑无关的BUG,一个潜在错误或者网络错误事件等,如:尚未实现的函数,缩进错误,Python语法错误等.该事件可能会在程序执行过程 ...

最新文章

  1. missing LSB tags and overrides
  2. 用Table变量返回多行数据
  3. jvm性能调优实战 - 46堆区OOM解析
  4. PHP处理图片(orientation)旋转问题
  5. 部署Django到云服务器(centos+nginx+mysql+uwsgi+python3)【操作篇(1)】
  6. spring json
  7. kafka副本数据同步策略
  8. 如何测试并调试基于 NDK 的 Android 应用
  9. pymysql安装_jqdatasdk手动安装
  10. php 除数 保留两位小数,c语言除法怎么保留小数
  11. 华硕老毛子(Padavan)——锐捷6.41,静态ip,学生破解过程分享,非专业仅供参考,啰嗦的一批,有耐心能看懂
  12. 求助文章#C语言 #普中51单片机开发板
  13. 国内第一本Julia语言书籍《Julia语言程序设计》出版了!
  14. 网页截图服务器,命令行下的2款网页截图工具推荐
  15. 迁移学习与Transformer架构
  16. 百度云c++语言模拟器,Android模拟器中运行纯C++程序(一)
  17. 29. 尚融宝借款申请
  18. 全链路前端性能优化方案
  19. 最新IP地理数据库(dat文件) --别花钱了
  20. 今日,首款国产超小体积5G通信模组商用!

热门文章

  1. c语言中rcu缩写,ICU、MICU、EICU、NICU、NCU、CCU、RCU,科室英文缩写大全
  2. python对象--加减重构
  3. 是德科技发力5G测试测量 欲攻占市场领导地位
  4. Maven_1 安装配置
  5. Visual Studio 2010 Beta版包括InstallShield Limited Edition
  6. 去掉左边0_TiDB 4.0 在 VIPKID 的应用实践
  7. android4.4.2 以太网代理,Android2.3.4系统添加Ethernet框架支持
  8. linux服务器关闭web,linux关闭防火墙后还访问不了Web?已解决,关闭防火墙及清除防火墙策略...
  9. java 静态存储区_Java中的堆内存、栈内存、静态存储区
  10. Mysql之insert,update,delete