我的编程空间,编程开发者的网络收藏夹
学习永远不晚

interactive_timeout和wait_timeout的关系

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

interactive_timeout和wait_timeout的关系

interactive_timeout = 28800

wait_timeout = 28800

#这两个参数默认都是28800s,即8个小时;

interactive_timeout指的是mysql在关闭一个交互的连接之前所要等待的秒数

wait_timeout指的是mysql在关闭一个非交互的连接之前所要等待的秒数

通过mysql客户端连接数据库是交互式连接,通过jdbc连接数据库是非交互式连接


(1)session级别修改interactive_timeout=10,wait_timeout默认不变。

mysql>set session interactive_timeout=10;

mysql>show variables like '%timeout%';

| interactive_timeout         | 10       |

| wait_timeout                | 28800

等10s后,此会话连接没有断开。


(2)session级别修改wait_timeout =10,interactive_timeout默认不变。

mysql>set session wait_timeout=10;

mysql>show variables like '%timeout%';

| interactive_timeout         | 28800        |

| wait_timeout                | 10

等10s后,此会话断开,随便输入一条命令报错,然后重新连接,但是此时连接id号发生变化了,并且wait_timeout会话设置失效,恢复默认值。

mysql>show processlist;

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    5

Current database: *** NONE ***


(3)global级别修改interactive_timeout=10,wait_timeout默认不变。

mysql>set global interactive_timeout=10;

mysql>quit

[root@Darren1 ~]# mysql -uroot -p147258

mysql>show variables like '%timeout%';

| interactive_timeout         | 10        |

| wait_timeout                | 10

等10s后,此会话断开,随便输入一条命令报错,然后重新连接,但是此时连接id号发生变化了,

mysql>show processlist;

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    9

Current database: *** NONE ***


(4)global级别修改wait_timeout=10,interactive_timeout 默认不变。

mysql>set wait_timeout=10;

mysql>quit

[root@Darren1 ~]# mysql -uroot -p147258

mysql>show variables like '%timeout%';

| interactive_timeout         | 28800       |

| wait_timeout                | 28800

设置无效。



总结:

1.控制连接最大空闲时长的是wait_timeout参数。


2.对于交互式连接,类似于mysql客户端连接,wait_timeout的值继承自服务器端全局变量interactive_timeout。  

 对于非交互式连接,类似于jdbc连接,wait_timeout的值继承自服务器端全局变量wait_timeout(未演示)。


3.判断一个连接的空闲时间,可通过show processlist输出中Sleep状态的时间

如:会话19为本地show processlist的id号,id18为另外一个空闲会话,可以看出这个会话已经空闲了61s

mysql>show processlist;

+----+------+-----------+------+---------+------+----------+------------------+

| Id | User | Host      | db   | Command | Time | State    | Info             |

+----+------+-----------+------+---------+------+----------+------------------+

| 18 | root | localhost | NULL | Sleep   |   61 |          | NULL             |

| 19 | root | localhost | NULL | Query   |    0 | starting | show processlist |

+----+------+-----------+------+---------+------+----------+------------------+


4.根据生产库经验,把这个两个参数的设置相同,都为5分钟:

interactive_timeout = 300

wait_timeout = 300


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

interactive_timeout和wait_timeout的关系

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

jdk和jre的关系

JDK(Java Development Kit)和JRE(Java Runtime Environment)是Java开发和运行的两个重要组件。JDK是Java开发工具包,它包含了Java开发人员需要的各种工具和库,用于开发、调试和编译J
2023-09-15

navicat和MySQL的关系

navicat是mysql数据库的管理工具,关系包括:连接和访问:navicat可连接mysql服务器并管理数据库和数据。查询和数据操作:内置sql编辑器和数据操作工具,可执行查询和操作数据。数据库设计:提供erd建模工具,帮助设计数据模型
navicat和MySQL的关系
2024-04-22

mysql和sql server的关系

mysql和sql server是流行的rdbms解决方案,但有以下区别:许可证类型:mysql开源,sql server专有。成本:mysql免费,sql server需要付费许可证。目标受众:mysql适用于小型至中型应用程序,sql
mysql和sql server的关系
2024-04-22

Linux和GNU系统的关系详解

目录每天都在运行的linux系统其实是?Linux内核 和 GNU 系统简介Linux内核 和 GNU 系统之间的关系详解总结每天都在运行的Linux系统其实是? 今天广泛使用的 GNU 版本通常被称为“Linux”
2022-06-04

H3C,华为和3COM的关系

H3C是杭州华三通信技术有限公司,也被常常称为华三。H3C的前身是华为3COM(华为三康)公司,是华为与美国的3COM公司的合资公司。    华为3COM公司的诞生还要和2003年华为公司与cisco公司在美国的一场官司有关,2001年IT
2023-01-31

Android中View.post和Handler.post的关系

目录前言为什么要拿这二者来比较?View的渲染起点View.post的执行流程Handler.post()能像View.post()一样获取到宽、高数据吗?前言 View.post和Handler.post是Android开发中经常使用到的
Android中View.post和Handler.post的关系
2022-06-07

nohup和&的区别与关系

# test_nohup.pyimport timetime.sleep(1000)print('test')& 是shell的命令,如果我们执行python test_nohup.py,就会直接返回shell给用户,且用户不能再进行输入。
2023-01-31

带宽和网速的关系

带宽和网速之间的关系可以用一个通俗的比喻来说明。假设带宽就像一条高速公路的车道数,而网速则是实际通过这条道路的车辆的速度。带宽决定了网络连接的最大传输能力,类似于高速公路的车道数决定了道路的容量。而网速则取决于实际传输数据的情况,类似于车辆
2023-08-17

redis和数据库的关系

redis 和数据库是不同的数据存储系统,redis 是一种内存数据库,强调高性能读写和灵活的数据结构,而数据库是一种持久化数据库,强调数据持久性和结构化查询。因此,它们可以互补使用,redis 作为高速缓存或临时存储,加速数据库的读写操作
redis和数据库的关系
2024-04-20

Apache、PHP和Mysql之间的关系

Apache、PHP和MySQL是常见的Web开发技术栈中的重要组件。Apache是一款开源的Web服务器软件,它负责接收来自客户端的HTTP请求,并将静态文件(如HTML、CSS、JavaScript等)返回给客户端。同时,Apache还
2023-08-31

c++中对象和类的关系

在 c++ 中,对象是类的具体实例,类是对象蓝图。对象拥有类的特性(数据成员)和行为(成员函数),而类定义对象的特性和行为规范。对象通过类创建,使用类成员函数访问特性和行为,而类则不能直接使用对象,但可以通过静态成员函数访问对象共享的数据或
c++中对象和类的关系
2024-05-10

编程热搜

目录