wait_timeout — 指的是mysql在关闭一个非交互的连接之前所要等待的秒数,其取值范围为1-2147483(Windows),1-31536000(linux),默认值28800。
interactive_time — 指的是mysql在关闭一个交互的连接之前所要等待的秒数(交互连接如mysql gui tool中的连接),其取值范围随wait_timeout变动,默认值28800。
比 如我们在终端上进入mysql管理,使用的即使交互的连接,这时候,如果没有操作的时间超过了interactive_time设置的时间就会自动断开。 当然我们可以在mysql_real_connect()中使用CLIENT_INTERACTIVE来设置位交互连接模式。
如果你的mysql已经在生产环境运行,那我们可以进入mysql终端查看timeout的设置,命令如下:”show global variables like ‘%timeout%’;”
这时候如果要修改timeout的值又不希望重启数据库服务器,那可以使用set global wait_timeout = 200;来修改,记得global哦,这是对mysql运行时全局变量的修改,如果没有global,则修改的变量只是当前这次开启的会话的而已
mysql> set global wait_timeout=10;
mysql> show global variables like 'wait_timeout';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| wait_timeout | 10 |
+----------------------------+-------+
上面这样查看才能得到数值改动了,如果调用总的查看指令得不到改动信息。改动之后不能重启数据库,不然修改的值会继续变成默认值。
修改操作:打开/etc/my.cnf,在属性组mysqld下面添加参数如下:
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000
windows下在my.ini文中增加:
interactive_timeout=28800000
wait_timeout=28800000
不过我发现上面windows系统中修改没有成功。