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

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


数据库连接超时时间查询

非交互式超时时间,如 JDBC 程序
show global variables like 'wait_timeout';
交互式超时时间,如数据库工具
show global variables like 'interactive_timeout';
MySQL服务器默认的“wait_timeout”是28800秒即8小时,意味着如果一个连接的空闲时间超过8个小时,MySQL将自动断开该连接。

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

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

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

修改mysql安装目录下的配置文件 my.ini文件(如果没有此文件,复制“my-default.ini”文件,生成“复件 my-default.ini”文件。将“复件 my-default.ini”文件重命名成“my.ini” ),在文件中设置:

wait_timeout=31536000  
interactive_timeout=31536000 

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

c.配置连接池(推荐)

使用数据库连接池 自带功能 定时清理空闲超时的jdbc连接。
show global status like 'Thread%';
Threads_cached--- 服务器端缓存连接;
Threads_connected ---当前打开的连接数
Threads_created ---创建的线程数
Threads_running---正在运行的线程
tips:
a、配置最小连接数5,最大连接数10,则会提前创建5个连接,当不够时会再次创建,但不超过10个。每个连接请求如果未使用则会自动回收销毁,但会保持最小5个连接数不会销毁。
b、数据库连接池和线程池一样,使用链表形式存储(前面是少使用的,后面是最近刚被使用的)。
--获取连接:每次获取链表的头结点,并且删除该头结点的引用关系
--释放连接:将该连接放入链表的后面

//连接数配置为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

通讯类型

同步调用:基于请求与响应;
异步调用:服务器端单独开启一个线程处理比较耗时间代码;
优点:防止客户端阻塞;
缺点:
1.客户端不能够及时获取到响应结果
2.开启单独一个线程异步处理 有可能会非常消耗cpu资源

连接方式【MySQL JDBC长连接】

长连接:每次建立连接完成之后,会将该连接保存起来实现复用,不会频繁创建连接,避免tcp三次握手和四次挥手。

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

短连接:每次发送请求完成之后,都会把连接关闭;
优点:避免浪费我们服务器的资源;
缺点: 每次建立连接的时候需要经历tcp三次握手,如果在频繁发送请求的情况下效率有可能会降低;

数据传输模式

单工: 数据单向发送
半双工: 数据双向传输,但不能同时传输 (mysql 采用半双工模式)
全双工:数据双向传输,可以同时传输

设定所接受的包的大小:
show variables like '%max_allowed_packet%';
根据情形不同,其缺省值可能是1M或者4M。
最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。

通讯协议

Unix非网络协议、TCP/IP套接字
Unix非网络协议:在linux 操作系统中客户端和服务器端都在同一台电脑上,客户端访问mysql使用Unix 协议非网络协议。
TCP/IP套接字:客户端与服务器不在同一台电脑上 采用网络方式实现通讯
命名管道和内存共享
在window系统中客户端和Mysql服务器在同一台电脑上,可以使用命名管道和共享内存的方式,
命名管道开启:–shared-memory=on/off;
共享内存开启:–enable-named-pipe=on/off;


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,924评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,781评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,813评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,264评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,273评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,383评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,800评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,482评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,673评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,497评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,545评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,240评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,802评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,866评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,101评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,673评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,245评论 2 341

推荐阅读更多精彩内容