0
点赞
收藏
分享

微信扫一扫

MySql连接空闲8小时自动断开的原因及连接池配置方法

上一篇 <<<MySQL发展历程与整体架构
下一篇 >>>查询和更新sql语句执行原理


数据库连接超时时间查询

8小时自动断开引起的问题解决办法

a.定时发送JDBC语句(不推荐)

b.增加 MySQL 的 wait_timeout 属性的值 (不推荐)

wait_timeout=31536000  
interactive_timeout=31536000 

这两个参数的默认值是8小时(60608=28800)。 注意: 1.wait_timeout的最大值只允许2147483 (24天左右),也可以使用mysql命令对这两个属性进行修改。

c.配置连接池(推荐)

//连接数配置为2的响应结果:
第1次发送连接:com.mysql.jdbc.JDBC4Connection@6b09bb57
第1次查询结果:id:5,orderName100
第2次发送连接:com.mysql.jdbc.JDBC4Connection@1d16f93d
第2次查询结果:id:5,orderName100
第3次发送连接:com.mysql.jdbc.JDBC4Connection@6b09bb57
第3次查询结果:id:5,orderName100
第4次发送连接:com.mysql.jdbc.JDBC4Connection@1d16f93d
第4次查询结果:id:5,orderName100
第5次发送连接:com.mysql.jdbc.JDBC4Connection@6b09bb57
第5次查询结果:id:5,orderName100
第6次发送连接:com.mysql.jdbc.JDBC4Connection@1d16f93d
第6次查询结果:id:5,orderName100
第7次发送连接:com.mysql.jdbc.JDBC4Connection@6b09bb57
第7次查询结果:id:5,orderName100
第8次发送连接:com.mysql.jdbc.JDBC4Connection@1d16f93d
第8次查询结果:id:5,orderName100
第9次发送连接:com.mysql.jdbc.JDBC4Connection@6b09bb57
第9次查询结果:id:5,orderName100
第10次发送连接:com.mysql.jdbc.JDBC4Connection@1d16f93d
第10次查询结果:id:5,orderName100

通讯类型

连接方式【MySQL JDBC长连接】

优点:避免重复创建tcp三次握手和四次挥手(socket)
缺点: 有可能浪费我们服务器端资源;空闲超时时间
应用场景:频繁发送请求提高效率

数据传输模式

通讯协议


推荐阅读:
<<<MySQL发展历程与整体架构
<<<查询和更新sql语句执行原理
<<<MySQL存储引擎汇总
<<<InnoDB存储引擎的Buffer Pool 缓冲池底层结构
<<<Too many connections分析与processlist解读
<<<MySQL索引底层结构与实现原理
<<<MySql的表锁行锁及间隙锁
<<<MySQL的并发文件及事务隔离级别
<<<MySQL的MVCC多版本控制原理
<<<MySQL常用命令汇总

举报

相关推荐

0 条评论