MySQL中interactive_timeout和wait_timeout
MySQL中interactive_timeout和wait_timeout一、MySQL中interactive_timeout和wait_timeout区别
1、interactive_timeout用于设置服务器关闭交互式连接前等待活动的秒数,针对的是交互式连接。
2、wait_timeout用于设置服务器关闭非交互连接之前等待活动的秒数,针对的是非交互式连接。
3、所谓的交互式连接,即在mysql_real_connect()函数中使用了CLIENT_INTERACTIVE选项。说得直白一点,通过mysql客户端连接数据库是交互式连接,通过jdbc连接数据库是非交互式连接。
4、MySQL在连接启动的时候,根据连接的类型,来确认会话变量wait_timeout的值是继承于全局变量wait_timeout,还是interactive_timeout。
二、MySQL中interactive_timeout和wait_timeout使用中的几个建议
1、控制连接最大空闲时长的是wait_timeout参数
2、对于非交互式连接,类似于jdbc连接,wait_timeout的值继承自服务器端全局变量wait_timeout。
3、对于交互式连接,类似于mysql客户单连接,wait_timeout的值继承自服务器端全局变量interactive_timeout。
4、判断一个连接的空闲时间,可通过show processlist输出中Sleep状态的时间