博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL设置wait_timeout详解
阅读量:6293 次
发布时间:2019-06-22

本文共 1446 字,大约阅读时间需要 4 分钟。

hot3.png

如果你没有修改过MySQL的配置,缺省情况下,的初始值是28800。

wait_timeout 过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也不能把这个指设置的过小,否则你可能会遭遇到“MySQL has gone away”之类的问题,通常来说,我觉得把wait_timeout设置为10是个不错的选择,但某些情况下可能也会出问题,比如说有一个CRON脚本, 其中两次SQL查询的间隔时间大于10秒的话,那么这个设置就有问题了(当然,这也不是不能解决的问题,你可以在程序里时不时mysql_ping一下, 以便服务器知道你还活着,重新计算wait_timeout时间):
 

# vi /etc/my.cnf[mysqld]wait_timeout=10# /etc/init.d/mysql restart

不过这个方法太生硬了,线上服务重启无论如何都应该尽可能避免,看看如何在MySQL命令行里通过来设置:

mysql> set global wait_timeout=10;mysql> show global variables like 'wait_timeout';+----------------------------+-------+| Variable_name              | Value |+----------------------------+-------+| wait_timeout               | 10       |+----------------------------+-------+

这 里一个容易把人搞蒙的地方是如果查询时使用的是show variables的话,会发现设置好像并没有生效,这是因为单纯使用show variables的话就等同于使用的是show session variables,查询的是会话变量,只有使用show global variables,查询的才是全局变量。

网络上很多人都抱怨说他们set global之后使用show variables查询没有发现改变,原因就在于混淆了会话变量和全局变量,如果仅仅想修改会话变量的话,可以使用类似set wait_timeout=10;或者set session wait_timeout=10;这样的语法。
另一个值得注意的是会话变量wait_timeout初始化的问题,这一点在手册里已经明确指出了,我就直接拷贝了:
On thread startup, the session wait_timeout value is initialized from the global wait_timeout value or from the global interactive_timeout value, depending on the type of client (as defined by the CLIENT_INTERACTIVE connect option to mysql_real_connect()).
MySQL大拿曾在他的文章里面列出了几个很恶心的MySQL缺省设置,不过没包含wait_timeout,但我觉得它也应该算一个,每次新装MySQL后最好都记得修改它。

转载于:https://my.oschina.net/anxiaole/blog/840555

你可能感兴趣的文章
HDFS Namenode启动过程
查看>>
SQL Server查询某个字段存在哪些表中
查看>>
web实现QQ第三方登录 开放平台-web实现QQ第三方登录
查看>>
【划分树+二分】HDU 4417 Super Mario
查看>>
WPF 基础到企业应用系列1——开篇故意
查看>>
Android - TextureView, SurfaceView和GLSurfaceView 以及 SurfaceTexture
查看>>
【GoldenGate】使用OGG,两个Oracle库之间单向同步数据
查看>>
Jenkins构建完成后通过SVN Publisher Plugin上传文件到指定的SVN(教程收集)
查看>>
10-01 Java 类,抽象类,接口的综合小练习--运动员和教练
查看>>
一级域名和二级域名的区别是什么?作用怎样?
查看>>
Jedis连接redis
查看>>
在windows下安装python包管理器pip及使用
查看>>
CSS属性选择器和部分伪类
查看>>
JAVA正則表達式小总结
查看>>
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 总结
查看>>
母亲与背影
查看>>
pasty公式
查看>>
jmeter使用beanshell构造参数化
查看>>
python 学习笔记 12 -- 写一个脚本获取城市天气信息
查看>>
Error code:1728 Cannot load from mysql.proc. The table is probably corrupted
查看>>