Mysql

如何在執行時更改生產環境中的 MySQL wait_timeout?

  • October 28, 2021

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

在my.ini下

$$ mysqld $$wait_timeout 的值設置為 60。

wait_timeout = 60

但是當我執行以下操作時:

show variables like 'wait_timeout';

它向我顯示該值為 28800,我知道這是預設值。

所以我嘗試通過執行以下命令來設置值:

SET GLOBAL wait_timeout = 60;

但這似乎不起作用。MySql Workbench 告訴我“受影響的 0 行”,當我執行 show variables like ‘wait_timeout’時,它仍然告訴我該值為 28800。

我還檢查了 interactive_timeout 並且故事是一樣的。值為 28800,我無法更改。

我在這裡想念什麼?

答案是設置不帶 GLOBAL 關鍵字的值。

SET wait_timeout = 60;

GLOBAL連接時將設置複製到您的SESSION設置中。使用以下任一語法:

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

wait_timeout指您將在多長時間內斷開連接。那是你要的嗎?

此外,“批處理”與“互動式”超時存在一些混淆。好看。

引用自:https://serverfault.com/questions/1075739