接続維持時間をデフォルトの 8 時間から 1 分に変更。この設定、接続のアイドル状態が一定時間続くと MySQL 側から自動的に接続を切る設定らしい。この設定、接続のアイドル状態が一定時間続くと MySQL 側から自動的に接続を切る設定らしい。
(2014-08-20追記)アイドル状態の合計がこの設定値を超えると MySQL 側から自動的に接続を切る設定らしいです。 http://saiya-moebius.hatenablog.com/entry/2014/08/20/230445
うかつに低く設定すると、バッチ処理とかのときに考慮が必要になりそう。
稼働中のサーバで変更。
> set global wait_timeout=60;
> show global variables like '%wait%';
+---------------------------------------------------+----------+
| Variable_name | Value |
+---------------------------------------------------+----------+
| innodb_lock_wait_timeout | 120 |
| innodb_spin_wait_delay | 6 |
| lock_wait_timeout | 31536000 |
| performance_schema_events_waits_history_long_size | 10000 |
| performance_schema_events_waits_history_size | 10 |
| wait_timeout | 60 |
+---------------------------------------------------+----------+
6 rows in set (0.00 sec)
my.cnf に書く場合こんな感じ。
[mysqld]
wait_timeout = 60