您可以使用下面的“SQL to SQL”方法(只需根据需要将额外的连接选项传递给 mysql 客户端):
shell> mysql -NBe "SELECT CONCAT('KILL ', id, ';') FROM information_schema.processlist WHERE user = 'some_username';" | mysql -vv
Run Code Online (Sandbox Code Playgroud)
注意:这适用于 MySQL 5.1 和 5.5。对于较旧的 MySQL 版本,这必须以不同的方式实现,因为 information_schema 没有 processlist 表。
使用的选项:
-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.
Run Code Online (Sandbox Code Playgroud)
工作原理说明:
首先,KILL 语句与 ID 一起生成。
shell> mysql -NBe "SELECT CONCAT('KILL ', id, ';') FROM information_schema.processlist WHERE user = 'some_username';"
Run Code Online (Sandbox Code Playgroud)
示例输出:
KILL 1061;
KILL 1059;
KILL 1057;
Run Code Online (Sandbox Code Playgroud)
然后执行这些语句。
shell> mysql -NBe "SELECT CONCAT('KILL ', id, ';') FROM information_schema.processlist WHERE user = 'some_username';" | mysql -vv
Run Code Online (Sandbox Code Playgroud)
示例输出:
--------------
KILL 1061
--------------
Query OK, 0 rows affected
--------------
KILL 1059
--------------
Query OK, 0 rows affected
--------------
KILL 1057
--------------
Query OK, 0 rows affected
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13875 次 |
| 最近记录: |