長い実行時間の後にMySQLでクエリを自動強制終了するには:
-
次のようにストアドプロシージャを作成します:
DECLARE CURSOR cur1 FOR SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND = 'Query' AND TIME > 120;
次に、curosrのループ内で次のことを行います:
FETCH ID INTO @var_kill_id; KILL QUERY @var_kill_id;
-
EVENT FOR EVERY 5 SECONDS
を作成しますCALL
その中の上記の手順。
注:KILL QUERYはクエリを強制終了するだけで、MySQL接続は切断されません。 こちら を参照してください 。