zoukankan      html  css  js  c++  java
  • MySQL wait_timeout参数修改

    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值是对后续新连接生效

     

    耿小厨已开通个人微信公众号,想进一步沟通或想了解其他文章的同学可以关注我

  • 相关阅读:
    Tomcat 下载安装与配置
    mysql explain用法和结果的含义
    xampp 配置多域名工程 解决 Access forbidden!
    谷歌地图 API 开发之获取坐标以及街道详情
    MySQL数学函数简明总结
    SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (gb2312_chinese_ci,COERCIBLE) for operation '='
    报错:illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
    VS-Visual Studio-IIS Express 支持局域网访问(用于进入断点)
    Dispatcher类介绍
    this.Dispatcher.BeginInvoke((Action)(() =>的作用
  • 原文地址:https://www.cnblogs.com/gjc592/p/9207369.html
Copyright © 2011-2022 走看看