För att automatiskt döda en fråga i MySQL efter en lång körningstid:
-
Skapa en lagrad procedur som:
DECLARE CURSOR cur1 FOR SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND = 'Query' AND TIME > 120;
sedan innanför curosrs loop gör:
FETCH ID INTO @var_kill_id; KILL QUERY @var_kill_id;
-
Skapa
EVENT FOR EVERY 5 SECONDS
och baraCALL
ovanstående procedur inuti den.
Obs:KILL QUERY dödar bara frågan och MySQL-anslutningen bryts inte. se här .