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

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

最佳答案

启动 session 后即会设置 session 状态,并且默认情况下采用当前的GLOBAL值。

如果您在完成SET @@GLOBAL.wait_timeout=300之后断开连接,然后又重新连接,您会看到

SHOW SESSION VARIABLES LIKE "%wait%";

Result: 300

同样,在任何时候,如果您做了
mysql> SET session wait_timeout=300;

你会得到
mysql> SHOW SESSION VARIABLES LIKE 'wait_timeout';

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

10-07 16:40
查看更多