MySQL 如何杀死show processlist中的所有进程

MySQL 如何杀死show processlist中的所有进程

我们可以通过”kill”命令来杀死进程。然而,由于MySQL没有任何大规模杀进程的命令,因此您需要逐个杀死这些进程。

要检查有多少个进程,请使用“show processlist”命令。

mysql> show processlist;

以下是输出。

+----+-----------------+-----------------+------+---------+------+------------------------+------------------+
| Id | User            | Host            | db   | Command | Time | State                  | Info             |
+----+-----------------+-----------------+------+---------+------+------------------------+------------------+
|  4 | event_scheduler | localhost       | NULL | Daemon  | 7986 | Waiting on empty queue | NULL             |
|  8 | root            | localhost:65180 | test | Query   |    0 | starting               | show processlist |
+----+-----------------+-----------------+------+---------+------+------------------------+------------------+
2 rows in set (0.00 sec)

要杀死一个已经活动了超过10秒的进程,请使用以下查询。在这里,我们杀死的是ID为“4”的进程。

mysql> select concat('kill ',4,';')
   -> from information_schema.processlist
   ->  where TIME > 10;

以下是输出。

+-----------------------+once;

| concat('kill ',4,';') |
+-----------------------+
| kill 4;               |
+-----------------------+
1 row in set (0.00 sec)

作为替代,您可以尝试以下MySQL查询来杀死所有进程。

mysql -e "show full processlist;" -ss | awk '{print "KILL "$1";"}'| mysql

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程