首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

pt-kill 多維度殺進程參數深度解析:按用戶、主機、命令、狀態、SQL、資料庫精準治理

     編輯:MySQL 綜合教學

pt-kill 多維度殺進程參數深度解析

針對不同治理需求,pt-kill 提供豐富的匹配維度。本文整理六大核心匹配模式的實戰參數範本,均以守護進程模式運行、間隔 1 秒、記錄日誌。

1. 按用戶殺查詢

/usr/bin/pt-kill --busy-time 15 \
  --match-user="dbUSER1|dbUSER2" --victim all --interval 1 \
  --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log

注意: 多用戶用 | 分隔,測試驗證有效。

2. 按來源主機殺查詢

/usr/bin/pt-kill --busy-time 15 \
  --match-host="192.168.10.10|192.168.10.11" --victim all --interval 1 \
  --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log

同理,多 IP 用 | 分隔。

3. 按 Command 類型殺查詢

# 匹配模式:殺掉 Query 和 Execute
/usr/bin/pt-kill --busy-time 15 \
  --match-command="Query|Execute" --victim all --interval 1 \
  --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log

# 排除模式:保留 Sleep 和 Binlog Dump
/usr/bin/pt-kill --busy-time 15 \
  --ignore-command="Sleep|Binlog Dump" --victim all --interval 1 \
  --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log

關鍵: Command 名稱嚴格區分大小寫,多值用 | 分隔。

4. 按 State 狀態殺查詢

/usr/bin/pt-kill --busy-time 15 \
  --match-state="Locked|Sending data" --victim all --interval 1 \
  --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log

State 同樣嚴格區分大小寫,常見值:Locked、login、Copying to tmp table、Creating tmp table、executing、Reading from net、Sending data、Sorting for order、Sorting result、Table lock、Updating。

5. 按 SQL 關鍵字殺查詢

/usr/bin/pt-kill --busy-time 15 \
  --match-info="SELECT|DELETE" --victim all --interval 1 \
  --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log

Info 內容嚴格區分大小寫,可用 | 多重匹配:select|SELECT|delete|DELETE|update|UPDATE。

6. 按訪問資料庫殺查詢

/usr/bin/pt-kill --busy-time 15 \
  --match-db="db1|db2" --victim all --interval 1 \
  --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log

Database 名稱嚴格區分大小寫,多值用 | 分隔。

Action 參數補充

  • --kill:殺掉連線並退出
  • --kill-query:僅殺掉當前查詢,連線保留 (較溫和)

部署建議

  1. 生產環境建議使用 --kill-query 而非 --kill,減少連線風暴
  2. 配合 --daemonize + --pid 做進程管理,避免重複啟動
  3. 日誌輪轉配置 logrotate 防止磁碟寫滿
  4. 核心業務庫建議加 --match-user 排除核心帳號,或用 --ignore-user
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved