本文主要是介绍参数 intertactive_timeout 和waittime_out,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
intertactive_timeout 和waittime_out
connect_timeout在获取连接阶段(authenticate)起作用
interactive_timeout 和wait_timeout在连接空闲阶段(sleep)起作用
net_read_timeout和net_write_timeout则是在连接繁 忙阶段(query)起作用
interactive_timeout 是指交互式链接空闲多长时间断开。
wait_timeout 是指非交互式链接多长时间断开。
涉及的工具:mysql 8.0 安装在本地的windows 系统
首先验证的是:interactive_timeout ,这个系统默认的时间是28800,就是8个小时,单位是秒。
打开mysql 在windows下的客户端,使用show variables like ‘%timeout’; 查看参数。
使用set variables intertactive_timeout =10; 此时如果变量前不加global ,就表示更改的是当前会话的变量,如果开新的客户端,那么将应用全局变量。我们在次就改目前会话下的。但是这样改完全不生效,所以我改了全局变量,set global variables intertactive_timeout =10,且同时更改waittime_out 也为10,更改之后退出,重新再次打开Mysql客户端,登陆上去之后,不操作空闲10秒,再使用语句查看变量,就显示我已经没有连上mysql 了。
此时只要从新再执行命令,就会自动连上。
说明已经生效,我们现在把set global variables intertactive_timeout 改回到28800,而wait_timeout 并不做修改。
此时等待十秒,再执行查看命令,将不会提示链接丢失。
那么wait_timeout是影响了非交互式的连接,在windows的命令行可以很容易的验证。我们先确认此时的mysql 两个timeout 的时间,此时global interactive_timeout=28800,global wait_timeout=10.
此时使用窗口键+r,输入cmd,切换到Mysql的bin 目录下。登陆Mysql,如果你加了path环境变量,可以直接就登陆,不用切换到bin.
进去之后更新会话的wait_timeout=10,等待10秒,此时链接断开,而参数interactive_timeout是28800.同样再次执行命令,将重新链接。
wait_timeout的作用是,设置非交互连接(就是指那些连接池方式、非客户端方式连接的)的超时时间,默认是28800,就是8小时,超过这个时间,mysql服务器会主动切断那些已经连接的,但是状态是sleep的连接。
这篇关于参数 intertactive_timeout 和waittime_out的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!