httpwebrequest超时时间timeout设置无效_那些年踩过的MySQL wait_timeout参数的坑

89d32439cba3e4e29fd8279171bbe5f2.png

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

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

session级(session关键字可省略)

e2e88b541ae93bfe6ea00f8581fbf8b4.png

global级

b517ba7db0b202a92902f2003fffffce.png

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

1. 修改global 级别wait_timeout;

4b3e47a8fa91fbc49a5585964cc3a8a9.png

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

b7283c0cae5bf6a1f86b88e3292abaae.png

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

2.修改session 级别wait_timeout;

3deda7ccfe27232c59438af1ce3b508a.png

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

29148cd387e9162a7ecd047a6fc83136.png

果然。。。。。

此时该如何是好,莫非每次都这么弄?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;

40612c886ee1e37498352d61be897712.png

7da9f9dc8184ab4c255d9ddf217f2de2.png

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

db6bdb6f6652c156e0f668790e5c13c7.png

又还原了。。。。

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

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

4.修改global级别interactive_timeout;

ef073ffbcd75ac6b2ebc436732e5a499.png

78034ebdf320e224e88b5ecbcc0f50ac.png

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

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

fa4ff8e3c2ff0eeec0565cf2fee816ae.png

82818252f32ad47f39d7eb59c5902fa5.png

重进后,没设置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值是对后续新连接生效

bc8c4e803765584d30b577c025327a3e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值