mysql数据库连接异常问题(总结)
2024-10-11 19:12:24
mysql数据库连接异常问题(总结)
1.1 前言
最近项目由1个数据源增加至了3个数据源(连接池使用C3P0),结果各种奇葩的数据库连接问题接踵而至,为防止将来再次遇到同样的问题不犯同样错误,现总结如下。
1.2 An attempt by a client to checkout a Connection has timed out (连接超时)
- 这种情况基本是网络不稳定导致的;再者就是数据源配置参数有异常。
1.3 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 52,420,576 milliseconds ago.
- 这种情况是由于连接池产生的部分连接长时间闲置,已经超过mysql数据库配置的“wait_timeout”设置的超时即断开该连接,而连接池没有校验该连接是否可用就直接被服务调用了,导致连接不可用报错。解决方案如下:
a、修改C3P0配置参数(推荐):
c3p0.testConnectionOnCheckout=true
b、缩减连接池的连接的生命周期,一般比数据库的等待超时默认8小时内即可(推荐);
c、增加数据库的等待超时配置为24小时(不推荐);
1.4 cannot get a available connection
- 这种情况基本是要检查连接池的初始化连接数及最大连接数不够的问题,需要调大点;再者就是数据库可能出了问题。
最新文章
- STM32F412应用开发笔记之四:与远红外炭氢传感器通讯
- Android UI:ListView -- SimpleAdapter
- c#简单自定义异常处理日志辅助类
- 提升WordPress站点速度的八个建议
- Struts2应用的开发步骤
- EXTJS 3.0 资料 控件之 html 潜入label用法
- UITableView的简单应用介绍
- 数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,
- 编写jeb插件打印目标方法的交叉引用
- C++ Primer学习笔记2--c++标准库中的 vector、string 和 bitset 类型
- Thrift源码解析--TBinaryProtocol
- frames.contentWindow.document InvalidCastException 转换错误异常。
- 阿里云远程连接CentOS
- _itemmod_description
- Beyond Compare文本对比中提示编辑禁止的解决方法
- VC设置代理方法
- AI 技术咖们说,进入未来世界首先需要一个“虚拟的我” | 科技生活节倒计时8天
- 关于 C# 十进制不足补位的应用
- JQuery基础(选择器、事件、DOM操作)
- UI5-文档-4.35-Responsiveness