MySQL大招—迴圈執行kill語句殺掉連線

NO IMAGE
今天在mysql中建立索引時,一直卡住不動,剛開始以為可能是資料量太大導致的,可是一直等了很久還是一樣沒有反應,看來操作的表被鎖住了,執行show processlist 果然發現有大量的lock,使用kill id單獨殺死連線是可以的,但是非常笨,不夠強大,這裡提供一個大招:
1、查詢所有connection 的id 生成 kill id; 格式的文字

2、SELECT concat(‘KILL ‘,id,’;’) FROM information_schema.processlist  INTO OUTFILE ‘D/lock.txt’;

3、執行文字里的指令碼:source D/lock.txt;