Para matar automaticamente uma consulta no MySQL após um longo tempo de execução:
-
Crie um procedimento armazenado como:
DECLARE CURSOR cur1 FOR SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND = 'Query' AND TIME > 120;
então dentro do loop do curosr faça:
FETCH ID INTO @var_kill_id; KILL QUERY @var_kill_id;
-
CrieEVENT FOR EVERY 5 SECONDS
e apenasCALL
o procedimento acima dentro dele.
Nota:KILL QUERY apenas mata a consulta e a conexão do MySQL não é interrompida. veja aqui .