MySQL wait_timeout 变量 - GLOBAL vs SESSION

标签 mysql global-variables session-variables

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   |
+---------------+-------+

关于MySQL wait_timeout 变量 - GLOBAL vs SESSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440336/

相关文章:

mysql - 如何在Linux中输入sql命令时出现提示?

c++ - 为什么在 C 和 C++ 之间初始化全局变量时存在这种差异?

php - 循环遍历数组以创建 SQL 查询

mysql - 将外键插入表中

php - PHP中的全局变量被认为是不好的做法吗?如果是这样,为什么?

javascript - 如何在函数内部的全局上下文中定义javascript中的函数?

php - 使用 session_register_shutdown() 的目的是什么?

java - 检索 ArrayList 作为 session 属性

ruby-on-rails - rails : How can you access session variables using multiple controllers?

MYSQL NOT IN subselect