CLIENT_INTERACTIVE

Permit interactive_timeout seconds of inactivity (rather than wait_timeout seconds) before closing the connection. The client's session wait_timeout variable is set to the value of the session interactive_timeout variable.


mysql对长时间[wait_timeout秒]不活动连接强制关闭的判断:


用哪个时间来初始化wait_timeout变量,依赖mysql_real_connect()指定的模式。

如果指定了 CLIENT_INTERACTIVE,那么 wait_timeout的初始值自动改成  interactive_timeout[global variable]的值。

实际生效的还是 wait_timeout变量。

show variables like "%timeout%";

在客户端连接中修改 interactive_timeout的值就没有任何意义了。只有修改wait_timeout才有意义。

比如修改 set wait_timeout=10; 那么10秒内无查询,则mysql强制关闭连接。


这个10秒不包括查询交互的时间,比如1个查询持续了20秒才返回,那么不会被强制断开连接。比如:

set wait_timeout=10; 

select sleep(20);


在查询语句返回后,10秒内无查询才断开连接。不返回是不会中断查询的。