MySQL wait_timeout参数修改问题,可能经常会有DBA遇到过,下面就试验一下并看看会有什么现象。

wait_timeout分为global级及session级别,如未进行配置,默认值为28800,即8小时。

session级(session关键字可省略)

global级

此处省略对global级 与 session级参数的解释,有兴趣深入了解的小伙伴请自行学习,也可以在以下的操作中理解哦。

1. 修改global 级别wait_timeout;

修改后,查看,global级参数已修改,session级依旧,此时是否怀疑,退出会话重新登录后session级会跟着改变呢,带此疑问进行操作。

结果发现,没什么两样。那就接着看下面的操作吧。

2.修改session 级别wait_timeout;

此时本会话的参数确实已经设置成功了,但是每次都要这么设置么?退出后再看看?

果然。。。。。

此时该如何是好,莫非每次都这么弄?MySQL 数据库这个参数不会真有这么蠢吧。

此时,请想起之前配置文件里说明的一点,全文链接 https://www.cnblogs.com/gjc592/p/9199361.html

interactive_timeout=600 #服务器关闭交互式连接前等待活动的秒数,同时设置interactive_timeout和wait_timeout才会生效
wait_timeout=600  # 服务器关闭非交互连接之前等待活动的秒数。
                             #长时间的执行批量的MYSQL语句。最常见的就是采集或者新旧数据转化

显示同时设置interactive_timeout和wait_timeout才会生效,按照此提示,我们进行interactive_timeout参数修改。

3.修改session 级别interactive_timeout;

此时session级wait_timeout那是没变,退出重进?

又还原了。。。。

(此时是否理解session级与global级参数的区别了?)

那按之前的套路,再修改global级别的。

4.修改global级别interactive_timeout;

没有意外,果然session级的那是那个鸟样。

但是,按照上面的套路,退出重进试一下。

重进后,没设置session级的居然变了,和global级一样的。至此,我们了解到,只要同时修改global级interactive_timeout和wait_timeout才能生效。

小结:

  •  wait_timeout的修改要同时修改global级interactive_timeout和wait_timeout才能生效
  • wait_timeout的作用是,设置非交互连接(就是指那些连接池方式、非客户端方式连接的)的超时时间,默认是28800,就是8小时,超过这个时间,mysql服务器会主动切断那些已经连接的,但是状态是sleep的连接。
  • session级别的wait_timeout变量在连接初始化时,继承global的interactive_timeout参数值
  • session级别的wait_timeout对当前交互连接生效(即当前连接的超时使用的是session wait_timeout,session interactive_timeout不生效)
  • 新连接的session级别wait_timeout会使用global级别的interactive_timeout值覆盖,因为interactive_timeout值是对后续新连接生效

MySQL wait_timeout参数修改的更多相关文章

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

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

  2. MySQL:参数wait_timeout和interactive_timeout以及空闲超时的实现【转】

    一.参数意思 这里简单解释一下两个参数,含义如下: interactive_timeout:The number of seconds the server waits for activity on ...

  3. Mysql - 参数修改

    概述 mysql的参数可以分为两类:a. 动态参数,数据库启动期间能被修改,而修改又分为两种(global级,session级).b. 静态参数,即数据库启动期间不能修改. 接下来利用参数wait_t ...

  4. 关于mysql的wait_timeout参数 设置不生效的问题【转】

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

  5. docker环境下mysql参数修改

    原文:docker环境下mysql参数修改 需要修改log_bin为on,看了好几个博客说都需要删掉容器重新生成,然而并非如此, 我们可以用docker cp 命令将docker的文件"下载 ...

  6. (转)MySQL配置文件mysql.ini参数详解、MySQL性能优化

    本文转自:http://www.cr173.com/html/18331_1.html my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数 ...

  7. MySQL配置文件mysql.ini参数详解、MySQL性能优化

    my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section.  ...

  8. MySql配置参数很全的Mysql配置参数说明

    MySql配置参数 很全的Mysql配置参数说明 1. back_log 指定MySQL可能的连接数量.当MySQL主线程在很短的时间内得到非常多的连接请求,该参数就起作用,之后主线程花些时间(尽管很 ...

  9. mysql 常见参数

    my.cnf[client] 对mysql的所有客端都生效的[mysql] 只对mysql这个命令有效了[mysqd][mysqld_multi] 多实例启动[mysqld_safe][mysqldN ...

随机推荐

  1. 【PIC单片机】MPLAB X IDE快速入门指南

    引言:近期由于项目实践需要,开始动手学习相关硬件知识.从PIC单片机入手. 单片机学习核心要点:查数据手册 配置寄存器 一.基于MPLAB X IDE配置位设置 MPLAB X IDE和MPLAB I ...

  2. ubuntu14.04安装rabbitmq

      ubuntu14.04安装rabbitmq及配置 1.修改/etc/apt/sources.list文件 命令:vi /etc/apt/sources.list 在最后一行加上:deb http: ...

  3. php执行与curl区别

            如执行一个文件写入 Linux服务器,分别php **/a.php与 curl http://**/a.php 结果:php执行写入到/root/test.txt, curl与浏览器运 ...

  4. 关于scheduleAtFixedRate方法与scheduleWithFixedDelay的使用

    一.scheduleAtFixedRate方法 该方法是ScheduledExecutorService中的方法,用来实现周期性执行给定的任务,public ScheduledFuture<?& ...

  5. gamemakerstudio:加载精灵

    如果精灵图片不是单一图片(拥有子图)可以称它为长条图,当gamemakerstudio加载这类精灵图片时,我们给图片名字命名为*_strip列数.*,这样当加载图片时gamemakerstudio会自 ...

  6. Python中深浅拷贝 垃圾回收与 super继承(六)

    1 python拷贝 深拷贝,浅拷贝 与引用三者的区别 import copy a = [1, 2, 3, 4, ['a', 'b']] #原始对象 b = a #赋值,传对象的引用 c = copy ...

  7. ubuntu16.4安装最新版wine3.0

    1.主体大致过程 $ wget https://dl.winehq.org/wine/source/3.0/wine-3.0.tar.xz $ tar -xvf wine-3.0.tar.xz $ c ...

  8. 关于message pack as3 版本的一些修改。

    玩个人项目的时候,根据前辈的推荐开始用messagepack,分别是py版和as3版: 然后在github上找到了demonsters的as3模块,于是颠屁颠屁地拿来用了,用的时候发现了一些小地方过不 ...

  9. 43. Multiply Strings 字符串相乘

    1. 原始题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2&qu ...

  10. nginx 图片,js,css等文件允许跨域

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { #允许跨域请求 add_header Access-Control-Allow-Ori ...