如何在运行时更改生产环境中的 MySQL wait_timeout?

如何在运行时更改生产环境中的 MySQL wait_timeout?

我正在运行 Windows、IIS、MySQL、PHP。

在 [mysqld] 下的 my.ini 中,wait_timeout 的值设置为 60。

wait_timeout = 60

但是当我执行以下操作时:

show variables like 'wait_timeout';

它显示该值是 28800,我知道这是默认值。

因此我尝试通过执行以下操作来设置该值:

SET GLOBAL wait_timeout = 60;

但这似乎不起作用。MySql Workbench 告诉我“0 行受影响“当我执行显示变量如‘wait_timeout’时,它仍然告诉我该值是28800。

我还检查了 interactive_timeout,情况是一样的。该值为 28800,我无法更改它。

我在这里遗漏了什么?

答案1

答案是在不使用 GLOBAL 关键字的情况下设置值。

SET wait_timeout = 60;

答案2

GLOBAL设置已复制到您的SESSION设置中当你连接时. 使用以下任一语法:

SET @@... = ...;
SET SESSION ... = ...;

wait_timeout指的是多久后会断开连接。这是你想要的吗?

此外,对于“批处理”超时和“交互式”超时,存在一些混淆。很好。

相关内容