如何从命令行设置 MySQL session wait_timeout?
How to set MySQL session wait_timeout from the command line?
正如您从下面的输出中看到的,我正在使用 MySQL shell 将会话的 wait_timeout
变量更改为 30 秒。有效。
但是,有没有办法从命令行设置这个变量?
$ mysql -u root -h 127.0.0.1 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 48543
Server version: 5.6.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SHOW SESSION VARIABLES LIKE 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 28800 |
+---------------+-------+
1 row in set (0.00 sec)
mysql> SET session wait_timeout=30;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW SESSION VARIABLES LIKE 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 30 |
+---------------+-------+
1 row in set (0.00 sec)
mysql> select now() from dual;
+---------------------+
| now() |
+---------------------+
| 2018-01-23 17:16:52 |
+---------------------+
1 row in set (0.00 sec)
mysql> select now() from dual;
ERROR 2013 (HY000): Lost connection to MySQL server during query
这样做:
$ mysql -u root -p -h 127.0.0.1 --init-command="SET SESSION wait_timeout=30"
正如您从下面的输出中看到的,我正在使用 MySQL shell 将会话的 wait_timeout
变量更改为 30 秒。有效。
但是,有没有办法从命令行设置这个变量?
$ mysql -u root -h 127.0.0.1 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 48543
Server version: 5.6.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SHOW SESSION VARIABLES LIKE 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 28800 |
+---------------+-------+
1 row in set (0.00 sec)
mysql> SET session wait_timeout=30;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW SESSION VARIABLES LIKE 'wait_timeout';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 30 |
+---------------+-------+
1 row in set (0.00 sec)
mysql> select now() from dual;
+---------------------+
| now() |
+---------------------+
| 2018-01-23 17:16:52 |
+---------------------+
1 row in set (0.00 sec)
mysql> select now() from dual;
ERROR 2013 (HY000): Lost connection to MySQL server during query
这样做:
$ mysql -u root -p -h 127.0.0.1 --init-command="SET SESSION wait_timeout=30"