Riedsioで示されるように、セッション変数は、特に指定しない限り、接続後は変更されません。グローバル変数を設定すると、次の接続のセッション値だけが変更されます。
たとえば、接続数が100で、グローバルwait_timeout
を下回ると、既存の接続には影響せず、変数が変更された後は新しい接続のみに影響します。
具体的にはwait_timeout
の変数には、ひねりがあります。 あなたはここで、あなたが@@session.wait_timeout
ためinteractive_timeout
セットが表示されます対話モードでmysql
クライアントを使用して、またはmysql_real_connect()
経由で設定CLIENT_INTERACTIVE
とコネクタされている場合は、これが実証され見ることができます:
> ./bin/mysql -Bsse 'select @@session.wait_timeout, @@session.interactive_timeout, @@global.wait_timeout, @@global.interactive_timeout'
70 60 70 60
> ./bin/mysql -Bsse 'select @@wait_timeout'
70
> ./bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.12-5 MySQL Community Server (GPL)
Copyright (c) 2009-2016 Percona LLC and/or its affiliates
Copyright (c) 2000, 2016, 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> select @@wait_timeout;
+----------------+
| @@wait_timeout |
+----------------+
| 60 |
+----------------+
1 row in set (0.00 sec)
ので、クライアントを使用してこれをテストしている場合は、の値ではなく接続時に表示されるinteractive_timeout
です。
出典
2016-06-21 11:38:02
Cez
あなたの答えはOPと直接矛盾し、あなたは矛盾に対処しません。 – klaar