Para cancelar automáticamente una consulta en MySQL después de un largo tiempo de ejecución:
-
Cree un procedimiento almacenado como:
DECLARE CURSOR cur1 FOR SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND = 'Query' AND TIME > 120;
luego dentro del ciclo de curosr haz:
FETCH ID INTO @var_kill_id; KILL QUERY @var_kill_id;
-
Crear
EVENT FOR EVERY 5 SECONDS
y soloCALL
el procedimiento anterior dentro de él.
Nota:KILL QUERY simplemente elimina la consulta y la conexión MySQL no se interrumpe. ver aquí .