ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于mysql系统参数的修改(全局参数和会话参数)

关于mysql系统参数的修改(全局参数和会话参数)

原创 Linux操作系统 作者:重庆大厦卖咖喱 时间:2012-12-05 11:47:07 0 删除 编辑
今天配合同事做了一个测试,需要修改wait_timeout的值,但是发现改了全局参数global variables 之后,查看会话参数show variables,却发现没有变化。这是因为没有重启,但是已经设置成功了,mysql5.1开始修改系统参数就不需要重启mysql了。而且有意思的是,修改了会话参数set wait_timeout = 60之后,过一会再查show variables ,发现又变成默认值28800了。这是因为session过了60秒重新连接了,所以看到的还是旧的(失效的)。我倒是觉得这是mysql一个bug,或者是可以改进的地方。
 
网上查了一下,觉得这个文章写得最好,转载一下。
 
全局变量wait_timeout是设置mysql空闲的超时时间,默认不设置的值是28800 (8小时)。对于一个繁忙的系统,一般都要求设置wait_timeout,避免程序异常没有释放连接,导致占用连接浪费数据库资源。
但是wait_timeout也不能设置太短,某些脚本和程序运行时间可能比较长,个人建议wait_timeout设置到3600 (1小时)比较合适,具体也要看使用的场景。

另外一个需要注意的是mysql的变量scope有global和session的区分,wait_timeout这个变量具有global的值,也有session的值,所以动态设置的时候需要特别注意。
mysql>set global wait_timeout=3600; 设置的是global变量,然后你用show variables like 'wait_timeout'; 看到还是28800,你可能怀疑没有设置成功,但是其实是设置成功的。因为show variables = show session variables, 查看的是session变量。你应该用:
mysql>show global variables like 'wait_timeout'; 就可以看到设置的效果了。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26865454/viewspace-750567/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-10-22

  • 博文量
    8
  • 访问量
    16516