批量kill mysql processlist程式

haoge0205發表於2015-12-01
如果大批量的操作能夠通過一系列的select語句產生,那麼理論上就能對這些結果批量處理。
但是mysql並沒用提供eval這樣的對結果集進行分析操作的功能。所以只能現將select結果儲存到臨時檔案中,然後再執行臨時檔案中的指令。
具體過程如下:

mysql> SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE user='root';
+------------------------+
| concat('KILL ',id,';')
+------------------------+
| KILL 3101;             
| KILL 2946;             
+------------------------+
2 rows IN SET (0.00 sec)

mysql> SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE user='root' INTO OUTFILE '/tmp/a.txt';
Query OK, 2 rows affected (0.00 sec)

mysql> source /tmp/a.txt;
Query OK, 0 rows affected (0.00 sec)


 原文地址 http://www.mysqlperformanceblog.com/2009/05/21/mass-killing-of-mysql-connections/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-1851046/,如需轉載,請註明出處,否則將追究法律責任。

相關文章