批量kill Mysql相關語句

2021-07-29 15:03:54 字數 1311 閱讀 1203

1、通過information_schema.processlist表中的連線資訊生成需要處理掉的mysql連線的語句臨時檔案,然後執行臨時檔案中生成的指令

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 info like '%select create+time%' 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)

2、

殺掉當前所有的mysql連線

mysqladmin -uroot

-p processlist|awk -f

"|"''

|xargs -n

1 mysqladmin -uroot

-p kill

3、通過shel指令碼實現

#殺掉鎖定的mysql連線

for id in `mysqladmin processlist|grep -i locked|awk ''`

do mysqladmin kill $

done

4、通過maatkit工具集中提供的mk-kill命令進行

#殺掉超過60秒的sql

mk-kill -busy-time

60 -kill

#如果你想先不殺,先看看有哪些sql執行超過60秒

mk-kill -busy-time

60 -print

#如果你想殺掉,同時輸出殺掉了哪些程序

mk-kill -busy-time

60 -print –kill

批量kill mysql程序

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

批量 kill mysql 中執行時間長的sql

1 通過information schema.processlist表中的連線資訊生成需要處理掉的mysql連線的語句臨時檔案,然後執行臨時檔案中生成的指令 mysql select concat kill id,from information schema.processlist where u...

Oracle 批量修改語句及相關知識點

問 有兩張表a和b,結構相同,資料量一致,比如都有x,y和z列且都有n行,x為主鍵,完全相等,如何把錶b的y列的資料賦值給a的y列?我寫的是1 update a set a.y b.y where a.x b.x報錯原因是表b未定義。答 update a set a.y select y from ...