Erlo

mysql数据库连接异常问题(总结)

时间:2018-11-09 12:02   阅读:13次   来源:博客园页面报错

mysql数据库连接异常问题(总结)

1.1 前言

    最近项目由1个数据源增加至了3个数据源(连接池使用C3P0),结果各种奇葩的数据库连接问题接踵而至,为防止将来再次遇到同样的问题不犯同样错误,现总结如下。

1.2  An attempt by a client to checkout a Connection has timed out  (连接超时)

  1. 这种情况基本是网络不稳定导致的;再者就是数据源配置参数有异常。

     


     

1.3 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 52,420,576 milliseconds ago.  

  1.  这种情况是由于连接池产生的部分连接长时间闲置,已经超过mysql数据库配置的“wait_timeout”设置的超时即断开该连接,而连接池没有校验该连接是否可用就直接被服务调用了,导致连接不可用报错。解决方案如下:

             a、修改C3P0配置参数(推荐):

                   c3p0.testConnectionOnCheckout=true
             b、缩减连接池的连接的生命周期,一般比数据库的等待超时默认8小时内即可(推荐);

             c、增加数据库的等待超时配置为24小时(不推荐);

 

1.4 cannot get a available connection

  1. 这种情况基本是要检查连接池的初始化连接数及最大连接数不够的问题,需要调大点;再者就是数据库可能出了问题。

下一篇:MySQL从删库到跑路_高级(七)——事务和锁

评论留言

还没有评论留言,赶紧来抢楼吧~~

Erlo大厅()

* 这里是“Erlo大厅”,在这发言所有人都可以看到。只保留当天信息

  • Erlo.vip2018-11-18 00:26:15Hello、欢迎使用Erlo大厅,这里是个吐槽的地方。
  • 首页 源码分享 新闻资讯 ERLO 搜索
    鼠标试试
    返回顶部