今天遇到個情況,一台php請求到後端資料庫的查詢線程全部堵住了,現在要清除這些線程,又不重新開機資料庫,如果用手動kill 'id' 那得執行上千次,不實際,用了一下兩條指令就可以解決問題
SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE Host like '10.0.0.46%' and Time >10 INTO OUTFILE '/tmp/a.txt';
source /tmp/a.txt
--------------------------------
将來源10.0.0.46和查詢時間大于10秒的id歸檔到檔案裡,
cat /tmp/a.txt
KILL 49947505530;
KILL 49946442549;
KILL 49945416819;
KILL 49944470268;
...
最後導入批量執行
本文轉自 hb_fukua 51CTO部落格,原文連結:http://blog.51cto.com/2804976/1180512