如何終止 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
廣告