我们可以在“ kill”命令的帮助下终止进程。但是,由于MySQL没有任何大量的kill命令,因此您需要一个一个地杀死这些进程。
要检查存在多少个进程,请使用“显示进程列表”
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