在MySQL中,某些参数有两个值:
1)对于会话。
2)对于全球。
我们可以检查这些参数的值,例如:
1)显示' wait_timeout'
等变量
2)显示全局变量,例如' wait_timeout'
现在它返回值:
1)会话= 500
2)对于global = 28800
我可以通过命令更改变量:
设置全局wait_timeout = 100;
设置会话wait_timeout = 200;
但是当我再次登录时,我得到以下值:
for session = 500
for global = 100。
这意味着全局值保留,会话不保留,这是绝对正确的。 但我担心的是我们如何才能为所有会话更改会话变量? 因为在这种情况下,全局不是每个会话所采用的值。
答案 0 :(得分:2)
是,
在MySQL中有2次超时。哪一个用于连接取决于连接类型。一个用于BATCH处理,另一个用于交互式
第二个变量是interactive_timeout。
查看interactive_timeout
的设置SHOW VARIABLES LIKE 'interactive_timeout';
SHOW GLOBAL VARIABLES LIKE 'interactive_timeout';
通过mysql客户端登录样本
# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 106426
Server version: 10.1.10-MariaDB-log Homebrew
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 500 |
+---------------+-------+
1 row in set (0.00 sec)
MariaDB [(none)]> show global variables like 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 28800 |
+---------------+-------+
1 row in set (0.00 sec)
MariaDB [(none)]> show variables like 'interactive_timeout';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| interactive_timeout | 500 |
+---------------------+-------+
1 row in set (0.01 sec)
MariaDB [(none)]> show global variables like 'interactive_timeout';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| interactive_timeout | 500 |
+---------------------+-------+
1 row in set (0.00 sec)
MariaDB [(none)]>
现在在批处理模式下相同
# mysql -uroot -p -e "show variables like 'wait_timeout';"
Enter password:
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 28800 |
+---------------+-------+
#
答案 1 :(得分:0)
我得到了确切的描述:
在线程启动时,会话wait_timeout值从全局wait_timeout值或全局interactive_timeout值初始化,具体取决于客户端的类型(由mysql_real_connect()的 CLIENT_INTERACTIVE 连接选项定义)
在MySQL doc wait_timeout description
中