激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 批量 kill mysql 中運行時間長的sql

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

2020-05-31 15:31MYSQL教程網 Mysql

這篇文章主要介紹了批量 kill mysql 中運行時間長的sql,需要的朋友可以參考下

 KILL語法

KILL [CONNECTION | QUERY] thread_id
每個與mysqld的連接都在一個獨立的線程里運行,您可以使用SHOW PROCESSLIST語句查看哪些線程正在運行,并使用KILL thread_id語句終止一個線程。

KILL允許自選的CONNECTION或QUERY修改符:

· KILL CONNECTION與不含修改符的KILL一樣:它會終止與給定的thread_id有關的連接。
· KILL QUERY會終止連接當前正在執行的語句,但是會保持連接的原狀。

如果您擁有PROCESS權限,則您可以查看所有線程。如果您擁有SUPER權限,您可以終止所有線程和語句。否則,您只能查看和終止您自己的線程和語句。

您也可以使用mysqladmin processlist和mysqladmin kill命令來檢查和終止線程。

注釋:您不能同時使用KILL和Embedded MySQL Server庫,因為內植的服務器只運行主機應用程序的線程。它不能創建任何自身的連接線程。

當您進行一個KILL時,對線程設置一個特有的終止標記。在多數情況下,線程終止可能要花一些時間,這是因為終止標記只會在在特定的間隔被檢查:

· 在SELECT, ORDER BY和GROUP BY循環中,在讀取一組行后檢查標記。如果設置了終止標記,則該語句被放棄。
· 在ALTER TABLE過程中,在每組行從原來的表中被讀取前,檢查終止標記。如果設置了終止標記,則語句被放棄,臨時表被刪除。
· 在UPDATE或DELETE運行期間,在每個組讀取之后以及每個已更行或已刪除的行之后,檢查終止標記。如果終止標記被設置,則該語句被放棄。注意,如果您正在使用事務,則變更不會被 回滾。
· GET_LOCK()會放棄和返回NULL。
· INSERT DELAYED線程會快速地刷新(插入)它在存儲器中的所有的行,然后終止。
· 如果線程在表鎖定管理程序中(狀態:鎖定),則表鎖定被快速地放棄。
· 如果在寫入調用中,線程正在等待空閑的磁盤空間,則寫入被放棄,并伴隨”disk full”錯誤消息。

· 警告:對MyISAM表終止一個REPAIR TABLE或OPTIMIZE TABLE操作會導致出現一個被損壞的沒有用的表。對這樣的表的任何讀取或寫入都會失敗,直到您再次優化或修復它(不中斷)。


1、通過information_schema.processlist表中的連接信息生成需要處理掉的MySQL連接的語句臨時文件,然后執行臨時文件中生成的指令

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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)

2、殺掉當前所有的MySQL連接

mysqladmin -uroot -p processlist|awk -F "|" '{print $2}'|xargs -n 1 mysqladmin -uroot -p kill

殺掉指定用戶運行的連接,這里為Mike

mysqladmin -uroot -p processlist|awk -F "|" '{if($3 == "Mike")print $2}'|xargs -n 1 mysqladmin -uroot -p kill

3、通過SHEL腳本實現

?
1
2
3
4
5
#殺掉鎖定的MySQL連接
for id in `mysqladmin processlist|grep -i locked|awk '{print $1}'`
do
  mysqladmin kill ${id}
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

 

  mk-kill更多用法可參考:
  http://www.maatkit.org/doc/mk-kill.html
  http://www.sbear.cn/archives/426
  Maatkit工具集的其它用法可參考:
  http://code.google.com/p/maatkit/wiki/TableOfContents?tm=6
  參考文檔:
  http://www.google.com
  http://www.orczhou.com/index.php/2010/10/kill-mysql-connectio-in-batch/
  http://www.mysqlperformanceblog.com/2009/05/21/mass-killing-of-mysql-connections/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品性视频 | 美女色影院 | www久久久久久| 成人小视频免费在线观看 | 一区二区三区欧美在线观看 | 性明星video另类hd | 一区二区三区视频在线观看 | 久久国产91 | 中文字幕欧美一区二区三区 | 俄罗斯理伦片 | 神马久久精品综合 | 欧美一级不卡视频 | 欧洲成人av | 午夜天堂在线 | 在线99热| 欧美成人高清视频 | 亚洲精品久久久久久 | 特大黑人videos与另类娇小 | 一本一本久久a久久精品综合小说 | 性欧美暴力猛交69hd | 久草在线观看资源 | 久久久久久久一区二区三区 | 亚洲第一综合色 | 久久久久久久免费精品 | 羞羞视频免费网站男男 | 欧美性色生活片免费播放 | chinesehd天美原创xxxx | 中文字幕极速在线观看 | 日韩一级片黄色 | 2021免费日韩视频网 | 美女黄视频在线观看 | 成人午夜激情视频 | 青青青在线免费 | 久久老司机精品视频 | 91久久久久久久久久久久久 | 欧美人禽 | 久久网国产精品 | 国产一级小视频 | 一区在线免费视频 | 成人免费毛片一 | 日韩精品dvd|