Sie können die unten stehende Methode "SQL to SQL" verwenden (übergeben Sie bei Bedarf einfach zusätzliche Verbindungsoptionen an den MySQL-Client):
shell> mysql -NBe "SELECT CONCAT('KILL ', id, ';') FROM information_schema.processlist WHERE user = 'some_username';" | mysql -vv
Hinweis: Dies funktioniert mit MySQL 5.1 und 5.5. Dies müsste für ältere MySQL-Versionen anders implementiert werden, da information_schema nicht über die Prozesslistentabelle verfügt.
Verwendete Optionen:
-N means that you do not want to get column names back.
-B puts it into batch mode, so that you do not get MySQL's table layout.
-e executes the following statement.
-v controls the verbosity, could be used up to three times.
Erklärung, wie es funktioniert:
Zuerst werden die KILL-Anweisungen zusammen mit IDs generiert.
shell> mysql -NBe "SELECT CONCAT('KILL ', id, ';') FROM information_schema.processlist WHERE user = 'some_username';"
Beispielausgabe:
KILL 1061;
KILL 1059;
KILL 1057;
Dann werden diese Anweisungen ausgeführt.
shell> mysql -NBe "SELECT CONCAT('KILL ', id, ';') FROM information_schema.processlist WHERE user = 'some_username';" | mysql -vv
Beispielausgabe:
--------------
KILL 1061
--------------
Query OK, 0 rows affected
--------------
KILL 1059
--------------
Query OK, 0 rows affected
--------------
KILL 1057
--------------
Query OK, 0 rows affected