关于wait_timeout

有一次去online set wait_timeout 的时候发现改了不生效,如下:

mysql> show variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 100 |
+---------------+-------+
1 row in set (0.00 sec)

mysql> set global wait_timeout=28800;
Query OK, 0 rows affected (0.00 sec)

mysql>  exit
Bye

退出后重新登录mysql
mysql> show variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 100 |
+---------------+-------+
1 row in set (0.00 sec)

网上搜索了一下:

说法1:interactive_timeout和wait_timeout的默认值都是28800(8小时)当这两个参数同时出现在里时,会以interactive_timeout的值为准。也就是说不管wait_timeout的值是多少,用show variables like '%timeout%';查看时显示的两个值都是一样的,并且都是interactive_timeout的值。

说法2:如果查询时使用的是show variables的话,会发现设置好像并没有生效,这是因为单纯使用show variables的话就等同于使用的是show session variables,查询的是会话变量,只有使用show global variables,查询的才是全局变量。网络上很多人都抱怨说他们set global之后使用show variables查询没有发现改变,原因就在于混淆了会话变量和全局变量,如果仅仅想修改会话变量的话,可以使用类似set wait_timeout=10;或者set session wait_timeout=10;这样的语法。

验证一下说法1:修改interactive_timeout 是否可以达到修改wait_timeout的效果

mysql> show variables like '%timeout';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| connect_timeout         | 10    |
| delayed_insert_timeout  | 300   |
| interactive_timeout     | 200   |
| net_read_timeout        | 30    |
| net_write_timeout       | 60    |
| slave_net_timeout       | 3600  |
| table_lock_wait_timeout | 50    |
| wait_timeout            | 200   |
+-------------------------+-------+
8 rows in set (0.00 sec)

mysql> set global interactive_timeout=100;
Query OK, 0 rows affected (0.00 sec)

mysql>show variables like '%timeout';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| connect_timeout         | 10    |
| delayed_insert_timeout  | 300   |
| interactive_timeout     | 200   |
| net_read_timeout        | 30    |
| net_write_timeout       | 60    |
| slave_net_timeout       | 3600  |
| table_lock_wait_timeout | 50    |
| wait_timeout            | 200   |
+-------------------------+-------+
8 rows in set (0.00 sec)

mysql> show global variables like '%timeout';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| connect_timeout         | 10    |
| delayed_insert_timeout  | 300   |
| interactive_timeout     | 100   |
| net_read_timeout        | 30    |
| net_write_timeout       | 60    |
| slave_net_timeout       | 3600  |
| table_lock_wait_timeout | 50    |
| wait_timeout            | 200   |
+-------------------------+-------+
8 rows in set (0.00 sec)

mysql> exit
Bye

退出后重新登录mysql
mysql> show variables like '%timeout';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| connect_timeout         | 10    |
| delayed_insert_timeout  | 300   |
| interactive_timeout     | 100   |
| net_read_timeout        | 30    |
| net_write_timeout       | 60    |
| slave_net_timeout       | 3600  |
| table_lock_wait_timeout | 50    |
| wait_timeout            | 100   |
+-------------------------+-------+
8 rows in set (0.00 sec)

mysql>

以上可以看到,如果修改interactive_timeout的话wait_timeout也会跟着变,而只修改wait_timeout是不生效的。

 
转自

关于mysql的wait_timeout参数 设置不生效的问题 - ㄓㄤㄑㄧㄤ - 博客园
http://www.cnblogs.com/azhqiang/p/5454000.html

关于mysql的wait_timeout参数 设置不生效的问题【转】的更多相关文章

  1. 关于mysql的wait_timeout参数 设置不生效的问题

    关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeou ...

  2. MySQL——my.cnf参数设置说明

    以下为个人总结的MySQL配置文件参数说明,如有错误,烦请大佬们留言指正,本人将第一时间修改.2019-12-10 12:32:08 [mysqld] server- # Mysql唯一标识,一个集群 ...

  3. MySQL服务优化参数设置参考

    l 通用类: key_buffer_size 含义:用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写). 影响:对于MyISAM表的影响不是很大,MyISAM会使用系统的缓存来存储 ...

  4. MySQL wait_timeout参数设置与网上常见错误小纠

    discard connection com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fail ...

  5. MySQL 连接数相关参数设置

    当我们的数据库服务器遇到如下的错误:ERROR: Too many connections 一种可能性就是我们的压力确实很大,需要增加服务器硬件资源或者增加数据库服务器.但是大多数情况下是我们的连接数 ...

  6. Mysql Innodb 性能参数设置 https://www.rathishkumar.in/2017/01/how-to-allocate-innodb-buffer-pool-size-in-mysql.html

    参考原文: https://www.rathishkumar.in/2017/01/how-to-allocate-innodb-buffer-pool-size-in-mysql.html 查看系统 ...

  7. MySQL wait_timeout参数修改

    MySQL wait_timeout参数修改问题,可能经常会有DBA遇到过,下面就试验一下并看看会有什么现象. wait_timeout分为global级及session级别,如未进行配置,默认值为2 ...

  8. MySQL Database on Azure 参数设置

    在使用MySQL过程中,经常会根据需要对MySQL的参数进行一些设置和调整.作为PaaS版本的MySQL,MySQL Database on Azure在参数设置方面有一些限制,客户不能像使用on-p ...

  9. 关于MySql链接url参数的设置

    jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/database?useUnicode=t ...

随机推荐

  1. BZOJ3203 SDOI2013保护出题人(三分)

    给a做一个前缀和,那么现在每次所查询的就是(sn-sk)/(bn+nd-(k+1)d)的最大值.这个式子可以看成是(bn+nd,sn)和((k+1)d,sk)所成直线的斜率. 脑补一条直线不断减小斜率 ...

  2. mysql查看表中列信息

    查看所有数据库中所有表的数据库名和表名 SELECT `TABLES`.`TABLE_SCHEMA`, `TABLES`.`TABLE_NAME` FROM `information_schema`. ...

  3. linux系统下 git 使用教程

    一.初始化 1.首先安装git软件,安装环境是centos 7.x下的云服务器.使用命令: #yum install git 2.设置用户名和邮箱(必须): # git config --global ...

  4. 【刷题】BZOJ 1070 [SCOI2007]修车

    Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术人员所维修的车及顺序,使 ...

  5. BZOJ 2732: [HNOI2012]射箭

    2732: [HNOI2012]射箭 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2532  Solved: 849[Submit][Status] ...

  6. shell条件判断

    1.字符串判断 str1 = str2 当两个串有相同内容.长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空) -z str1 当 ...

  7. 【BZOJ4903/UOJ300】【CTSC2017】吉夫特

    Description 传送门 ​ 简述题意:给一个序列,询问有多少子序列满足其中不会出现\(a\choose b\)是偶数的情况,其中\(a\)在\(b\)前面. Solution 首先探究组合数的 ...

  8. Linux内核分析实验三----跟踪分析Linux内核的启动过程

    一.Linux内核源代码介绍 1.根目录 arch/x86目录下的代码是我们重点关注的,arch中包括支持不同CPU的源代码. init目录下包含内核启动相关的代码,如main.c(start_ker ...

  9. springcloud之Hystrix

    1.Hystrix出现的背景 从上面看来,Hystrix避免了雪崩效益,对于失败的服务可以快速失败. 2.为了解决雪崩效应的解决方案: (1)超时机制 (2)断路器模式Hystrix 3.Hystri ...

  10. Python3 笨方法 练习41(面向对象)详解及运行结果

    #无尽模式训练你,检验所掌握的面向对象的单词和短语. import random from urllib.request import urlopen import sys WORD_URL = &q ...