批量kill mysql processlist進程

如果大批量的操作能夠通過一系列的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/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章