Long-running queries can cripple your database performance, consume server resources, and lead to application timeouts. Here’s how to spot and terminate them in MySQL. First, check which queries are running longer than acceptable.
KILL [CONNECTION] <id>; Or if you only want to terminate the current query but keep the connection:
SET GLOBAL max_execution_time = 30000; -- milliseconds (30 seconds) Or per session/query:
SELECT id, user, host, db, command, time, state, SUBSTRING(info, 1, 100) AS query_preview FROM information_schema.processlist WHERE command != 'Sleep' AND time > 60 -- running for more than 60 seconds ORDER BY time DESC; Once you have the connection id :