MySQL下的CommunicationsException问题

栏目: 数据库 · 发布时间: 6年前

内容简介:这周的一天早上一个定时任务突然报错,错误如下字面上看是数据库链接出了问题。最近才把应用的数据库链接池从tomcat切换到druid,所以第一个怀疑的就是druid。

这周的一天早上一个定时任务突然报错,错误如下

### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 67,409 milliseconds ago. The last packet sent successfully to the server was 60,060 milliseconds ago. ### The error may exist in file [xxxxx.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters

字面上看是数据库链接出了问题。

最近才把应用的数据库链接池从tomcat切换到druid,所以第一个怀疑的就是druid。

网上搜索搜索一下,发现大部分答案都基本是在连接取出之前需要进行测试,连接池一般支持这样的配置。稍微检查了一下,发现项目中已经配置了相关的配置,所以理论上不是这个问题导致的。

然后仔细研究了一下这个问题,发现这个问题其实蛮常见的,错误信息是一样的,但是具体对应的情况却是各不相同的。比如上文提到的是由于连接超时连接池再取出连接前没有进行测试,这只是一种情况,还有一种比较常见的情况是连接已经建立,但是由于慢查询或者服务器压力过大,导致长时间没有数据返回,占用数据库连接,进而达到数据库最大允许的连接数。

根据这个思路检查了一下数据库平台,从监控中可以看到有一个慢查询持续了60余秒,优化掉这个慢查询就解决了这个问题。

当然还有一些其他比较基本的情况,比如数据库地址错误,导致直接无法连接,或者是数据库配置有误,导致无法接受连接,不过这种问题一般出现在初次连接的时候,一般不会发生,在稳定运行的线上环境。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

微信营销与运营

微信营销与运营

王易 / 机械工业出版社 / 2014-1-1 / CNY 49.00

这是一本深度介绍微信营销的书,也是一本系统讲解微信公众账号运营的书,它基于微信的最新版本,从策略、方法、技巧与实践等多角度详细解析了微信的营销与运营,所有内容都是行业经验的结晶,旨在为企业运用微信提供有价值的参考。 本书首先从商业模式角度全面分析了微信5.0推出的“扫一扫”、表情商店、微信游戏、微信支付等新功能背后的商业机会,以及订阅号折叠给企业带来的影响和应对策略;其次从运营角度系统归纳了......一起来看看 《微信营销与运营》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具