我正在运行 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
指的是多久后会断开连接。这是你想要的吗?
此外,对于“批处理”超时和“交互式”超时,存在一些混淆。很好。