mysql 8小时timeout问题

时间:2022-11-15 10:48:43

MySQL> show variables like '%timeout%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| connect_timeout           | 5     |
| delayed_insert_timeout   | 300   |
| innodb_lock_wait_timeout  | 50    |
| interactive_timeout       | 28800 |
| net_read_timeout          | 30    |
| net_write_timeout         | 60    |
| slave_net_timeout         | 3600 |
| wait_timeout              | 28800 |
+--------------------------+-------+         
同一时间,这两个参数只有一个起作用。到底是哪个参数起作用,和用户连接时指定的连接参数相关,缺省情况下是使用wait_timeout。我建议是将这两个参数都修改,以免引起不必要的麻烦。

这两个参数的默认值是8小时(60*60*8=28800)。

测试将这两个参数改为0,结果出人意料,系统自动将这个值设置为28800 。

换句话说,不能将该值设置为永久。
将这2个参数设置为1年(60*60*24*365=31536000)

总不至于一年都不用这个链接吧?
set interactive_timeout=31536000;
set wait_timeout=31536000;

PS:wait_timeout的取值范围是1-2147483(Windows),1-31536000(linux),i