MySQL wait_timeout变量 - GLOBAL vs SESSION [英] MySQL wait_timeout Variable - GLOBAL vs SESSION

查看:491
本文介绍了MySQL wait_timeout变量 - GLOBAL vs SESSION的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  SHOW VARIABLES LIKE%wait%

结果:28800

SET @@ GLOBAL.wait_timeout = 300

显示全局变量,如%wait%

结果:300

显示会话变量如%wait%

结果:28800

我对结果感到困惑。为什么最后一个查询会给出结果:28800?

解决方案

您的会话状态是在开始会话后设置的,默认情况下,如果您在 SET @@ GLOBAL.wait_timeout = 300 之后断开连接,则请取消当前的GLOBAL值。 然后重新连接,你会看到

  SHOW SESSION VARIABLES LIKE%wait%; 

结果:300

同样, / p>

  mysql> SET session wait_timeout = 300; 

您会得到

 的MySQL> SHOW SESSION VARIABLES Like'wait_timeout'; 

+ --------------- + ------- +
|变量名|值|
+ --------------- + ------- +
| wait_timeout | 300 |
+ --------------- + ------- +


SHOW VARIABLES LIKE "%wait%"

Result: 28800

SET @@GLOBAL.wait_timeout=300

SHOW GLOBAL VARIABLES LIKE "%wait%"

Result: 300

SHOW SESSION VARIABLES LIKE "%wait%"

Result:28800

I am confused by the results. Why does the last query give Result:28800 ?

解决方案

Your session status are set once you start a session, and by default, take the current GLOBAL value.

If you disconnected after you did SET @@GLOBAL.wait_timeout=300, then subsequently reconnected, you'd see

SHOW SESSION VARIABLES LIKE "%wait%";

Result: 300

Similarly, at any time, if you did

mysql> SET session wait_timeout=300;

You'd get

mysql> SHOW SESSION VARIABLES LIKE 'wait_timeout';

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 300   |
+---------------+-------+

这篇关于MySQL wait_timeout变量 - GLOBAL vs SESSION的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆