SELECT CONCAT('KILL ', id, ';') FROM information_schema.processlist WHERE time > 300; Sometimes you run KILL but the query remains in the process list with a state like Killed or Checking table . This means MySQL has acknowledged the kill command but is waiting for an internal resource (e.g., disk I/O, row lock) to release.
KILL 12345; Or with the optional CONNECTION keyword (same effect): kill mysql query
SHOW PROCESSLIST; Or for full, non-truncated queries: SELECT CONCAT('KILL ', id, ';') FROM information_schema
Killing a MySQL query is a scalpel – precise and effective, but careless use can cut deep. Always pair it with logging and post-mortem analysis to understand why you needed to kill it in the first place. SELECT CONCAT('KILL '