wait_timeout是MySQL服务器等待客户端连接关闭的时间,单位为秒。当一个客户端连接到MySQL服务器时,服务器会为它分配一个线程来处理它的请求。wait_timeout参数指定服务器在检测到一个客户端连接处于非活动状态(即该客户端没有发送任何请求)时,等待多长时间关闭该连接。
该参数的默认值为28800秒(即8小时),这意味着如果一个客户端连接在8小时内没有发送任何请求,则MySQL服务器会自动关闭该连接。
wait_timeout的底层原理是通过MySQL服务器内部的定时器实现的。每当一个客户端发送一个请求时,服务器会重新设置该连接的超时时间。如果一个客户端连接在wait_timeout时间内没有发送任何请求,服务器就会将该连接关闭,释放资源。这可以避免长时间的空闲连接占用服务器资源。