1

我做了以下事情:

SET GLOBAL wait_timeout = 5;
SET SESSION wait_timeout = 5;
SET GLOBAL interactive_timeout = 5;
SET SESSION interactive_timeout = 5;

但是当我运行一个耗时的查询时,它仍然会在 600 秒时失去连接 - 而不是 5 秒。我在同一个 MySQL Workbench 选项卡中一个接一个地进行查询,所以它应该都在同一个会话中。

我也尝试过更新C:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini和添加wait_timeout=5......什么都没有。

有任何想法吗?

另外,为什么,当一个耗时的查询在一个选项卡中的 127.0.0.1 上运行时,我不能SHOW FULL PROCESSLIST在另一个选项卡中执行?

4

1 回答 1

0

wait_timeout仅控制连接在服务器关闭之前可以空闲多长时间。如果您正在执行一个需要很长时间的查询,那么该变量与您的问题无关。

MySQL 没有内置任何东西会在设定的时间后终止活动运行的查询。所以还有其他原因导致这种情况发生。你需要提供更多信息。

当您说“它正在关闭连接”时,究竟会发生什么?您是否在程序中收到错误,如果是,那是什么?你是如何运行程序的?

于 2013-01-13T06:23:53.203 回答