mysql超时间wait_timeout设置的问题

2024-02-15 18:12:10 举报文章

在做连接池的时候,为了让连接更早的被释放掉。而修改my.cnf,

添加 wait_timeout = 600 也就是10分钟后MySQL服务自动断开连接

奇怪的是修改了之后使用 show variables like 'wait_timeout' 依然显示之前的28800

会发现设置好像并没有生效,这是因为单纯使用show variables的话就等同于使用的是show session variables,查询的是会话变量,只有使用show global variables,查询的才是全局变量。

上面重启的方法于正式环境而言 是不可取的 会影响到线上的一个正常的服务。

那么接下来的方法是 通过set方法

set global wait_timeout=10;

show global variables like 'wait_timeout';

即可

超过这个时间,mysql 就终止 select 语句的执行

mysql 5.6 及以后,有语句执行超时时间变量,用于在服务端对 select 语句进行超时时间限制;

mysql 5.6 中,名为: max_statement_time (毫秒)

mysql 5.7 以后,改成: max_execution_time (毫秒)

超过这个时间,mysql 就终止 select 语句的执行,客户端抛异常:

1907: Query execution was interrupted, max_execution_time exceeded.


如果你认为本文可读性较差,内容错误,或者文章排版错乱,请点击举报文章按钮,我们会立即处理!