Le plus simple est de les tuer depuis le Shell, e.g.
mysqladmin proc | grep Sleep | awk '{print $2}' | xargs -L1 mysqladmin kill
Si le problème persiste, vérifiez les détails en effectuant la requête suivante :
mysql -e "SHOW engine innodb status\G"
A partir de MySQL, essayez le code suivant basé sur le post de @Shlomi vous pouvez créer une procédure stockée en utilisant le curseur du serveur, par exemple :
DELIMITER $$
DROP PROCEDURE IF EXISTS test.kill_user_queries$$
CREATE PROCEDURE test.kill_user_queries (kill_user_name VARCHAR(16) CHARSET utf8)
SQL SECURITY INVOKER
BEGIN
DECLARE query_id INT;
DECLARE iteration_complete INT DEFAULT 0;
DECLARE select_cursor CURSOR FOR SELECT id FROM INFORMATION_SCHEMA.PROCESSLIST WHERE user=kill_user_name;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET iteration_complete=1;
OPEN select_cursor;
cursor_loop: LOOP
FETCH select_cursor INTO query_id;
IF iteration_complete THEN
LEAVE cursor_loop;
END IF;
KILL QUERY query_id;
END LOOP;
CLOSE select_cursor;
END$$
DELIMITER ;
Il y a aussi un vieux script appelé mypgrep.py
par Google.