-- 查询mysql 数据库链接空闲时间持有最大空闲时间,单位为秒

SHOW VARIABLES WHERE VAriable_name = 'interactive_timeout';

-- 会出现wait_timeout与该参数意思相近,修改时,一起修改

SHOW VARIABLES WHERE VAriable_name = '%timeout';

-- 解决问题

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

Caused by: org.hibernate.TransactionException: JDBC commit failed
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:130)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:657)
... 29 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during commit(). Transaction resolution unknown.

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.

-- 注意点

(1) 碰到这样的问题,先确定是否事务的开启后空闲时间太长导致事务的链接被回收掉了,只要你对数据库进行操作,就不算闲置,不会出现这个问题

(2) 网络出现问题,导致数据库无法链接

(3)

-- linux 系统查询文件中字符串所在文件行数

grep -A 10 -B 5 "查询数据字符串" catalina.out.2015-10-14.log |more

grep -rn "查询字符串" 文件名称

-- p表示行,不能省去

sed -n '起始行, 结束行p' catalina.out.2015-10-14.log

-- 进一步获取信息,可能是由于tomcat的catalina.out 日志文件过大,而服务器进行删除该日志的时候,导致tomcat卡住,使得tomcat获取到的connection被mysql服务器释放掉了,导致问题

-- tomcat解决大日志切分的方式

========================================================================================================================

解决方案1:(推荐使用)

(1) linux 中 配置 logrotate 进行日志记录并切分,好处在于可以转储并压缩日志

如果配置待研究,相信很快就能给出配置方式,请大家稍作等待,或自己有兴趣的也可以查阅一下资料自己进行研究

参考配置地址:http://blog.csdn.net/wanglipo/article/details/6934926

=========================================================== 实现 ==========================================================

解决方案2:

(1) 将tomcat下的大数据日志文件重新命名

(2) 在tomcat下日志文件下新创建一个相同记录日志文件名的空文件

(3) 移走tomcat下的大数据文件,移到tomcat外的其他的路径下

(4) 删除移到外部的日志文件

该方案解决了直接删除tomcat的日志大文件时锁定tomcat的线程问题,这样就可以解决删除时导致事务的获取链接时间超时问题

自动实现脚本执行

解决方案3:

系统上减少一些不必要的日志打印,减少服务器上的catalina.out文件的大小,加快服务器删除文件的时间,后面使用日志强制重新写入文件即可,问题引起原因就是日志文件过大,导致清理时时间过程,项目的访问受到影响导致

===========================================================转载blog========================================================

解决方案4:

解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已经其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文件中输入内容,这也会降低tomcat的性能。下面利用一个工具来将tomcat产生的catalina.out文件根据日期来分割,将每天产生的日志存放在一个独立的文件中,这样单个log文件就不会太大,而且过期的日志文件可以根据情况在不需要的时间删除掉,或者备份到其他地方。

这里需要一个工具叫cronolog,这个工具的作用是将标准输出中的内容重定向到文件,但是可以根据规则对文件命名,这样我们就可以将标准输出中的内容重定向到根据日期命名的log文件中了,然后只要将tomcat的日志输出指向标准输出就可以搞定问题了。下面是具体配置步骤

一、获取与安装cronolog工具

1. 到这里(http://cronolog.org/download/index.html)下载最新版本,本文编写时的最新版本是1.6.2版本。

2. 将下载好的文件解压缩,tar xvzf cronolog.tar.gz

3. 切换到解压缩之后的cronolog目录中

4. 初始化和编译安装

./configure --prefix=/usr/local/cronolog (这里--prefix后面的路径是你希望该工具的安装目标路径)

./make

./make install

二、修改tomcat的启动文件(tomcat/bin/catalina.sh)

1. 找到文件中的如下内容(注意:有两处)

org.apache.catalina.startup.Bootstrap "$@" start /
>> "$CATALINA_BASE"/logs/catalina.out 2&1 &

将其修改成如下格式:

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

2. 注释如下内容

#touch "CATALINA_BASE"/logs/catalina.out

然后重新启动tomcat就可以完成任务了

原地址:http://www.cnblogs.com/yjhrem/articles/3147686.html

# 在前面基础上需要修改的地方

2、修改catalina.sh 
注释  第372行 ,结果为 # touch "$CATALINA_OUT" 
修改第393,394行,更改的结果为 org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

附加查看vim文件下的行数命令

:set nu

可查看行数

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

  1. Cause com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure 问题解决 报错

    Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 问题解决 Cau ...

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

    昨天数据库做了一些改动,早上再打开的项目的时候就出现了这样的问题 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communicat ...

  3. 问题记录——com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure...

    最近在搞一个Spring boot + Mybatis + Mysql的项目,用Mybatis访问数据库时,报了如下的错误,先在网上搜索了,试了各种办法都不行, 奇葩的是,连接另外1个数据库又没问题. ...

  4. Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题

    数据库出现如下连接问题 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The ...

  5. 解决com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link

    一.可能导致这样的原因 1.配置文件中的url不正确(排除) <url>jdbc:mysql://localhost:3306/env</url> 2.mysql的连接等待时间 ...

  6. mysql连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link

    jdbc驱动:mysql-connector-java-5.1.39-bin.jar 这个有问题, 换成:mysql-connector-java-5.1.34.jar 就可以了 转载于:https: ...

  7. 严重:init datasource errorcom.mysql.jdbc.exceptions.jdb4.CommunicationsException:Communications link失败

    解决办法: 1.检查是否导入druid-1.0.9.jar包 2.检查druid.Properties配置文件中的中的各参数url.username.password是否跟自己的匹配 3.检查自己的m ...

  8. mysql第二天无法连接_MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:...

    http://zeusami.iteye.com/blog/1112827 MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.Commun ...

  9. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException

    新建的网站出现如下错误: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully r ...

最新文章

  1. 2016第51周三产品经理如何更有说服力
  2. zigbee 频谱波段
  3. TODO:Go语言goroutine和channel使用
  4. CC++刚開始学习的人编程教程(9) Windows8.1安装VS2013并捆绑QT与编程助手
  5. java发送消息_通过java给qq邮箱发送信息
  6. ireport模块之间的动态传参及拼接SQL
  7. [SOJ #538]好数 [CC]FAVNUM(2019-8-6考试)
  8. html title 不显示_SEO入门教程二:学习最基础的html代码知识
  9. MySQL使用二进制日志来恢复数据
  10. 手游和平精英透视教学
  11. 飞思卡尔16位单片机(二)——CodeWarrior开发环境搭建及新建、调试工程
  12. WEB安全之代码安全----ESAPI
  13. word参考文献格式设置(国标下载)
  14. 前端验证手机号和座机号号码
  15. 苹果好用的测试软件,四款主流苹果设备管理软件横向评测
  16. GlobalWoZ: 面向全球通用的人机对话系统——快速构建多语对话能力初探
  17. C语言的 = 和 ==、!=
  18. php脾组词,脾组词_脾字组词_脾的组词意思及拼音
  19. 自定义Horizon
  20. 【HTML CSS】笔记初日 HTML基础

热门文章

  1. 计算机基础高一,2013高一计算机基础期末考试题
  2. mysql 查询结果转置_转置MySQL查询 – 需要将行放入列中
  3. python 元组和列表区别_Python 基础(六):列表与元组
  4. matlab julian day,通用的日期格式与儒略日(julian day)格式的互相转换
  5. iphone相册怎么加密_iphone相册加密码锁,保护隐私
  6. 【基础知识】如何在word中粘贴出漂亮整洁的代码
  7. Ant Design Vue 表格内编辑(附完整源码及效果图)
  8. [微信小程序]星级评分和展示(详细注释附效果图)
  9. iOS 中 load 和 initialize的实现顺序
  10. 离群点检测算法-基础概念