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 教程