亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

使用pt-kill從數據庫側限流

2024-06-20 03:17:34
22
0

簡介

pt-kill 是一款用于 kill MySQL 連接的工具,它是 percona-toolkit 的一部分。在因空閑連接較多導致超過最大連接數,或某個有問題的 SQL 導致 MySQL 負載很高時,可以使用 pt-kill 來終止一些連接,以保護數據庫。pt-kill 可以通過連接 MySQL 并執行show processlist命令來獲取查詢語句,然后根據指定的條件篩選出需要 kill 的查詢,并執行相應的操作,如 kill、打印等。它支持多種匹配條件,如查詢執行時間、命令類型、用戶、主機、數據庫等。
 
官方文檔://docs.percona.com/percona-toolkit/pt-kill.html

1.安裝percona-toolkit

#!/bin/bash
#官網下載地址,版本可選://www.percona.com/downloads
wget //downloads.percona.com/downloads/percona-toolkit/3.2.0/binary/tarball/percona-toolkit-3.2.0_x86_64.tar.gz
tar zxf percona-toolkit-3.2.0_x86_64.tar.gz -C /usr/bin
echo 'export PATH=/usr/bin/percona-toolkit-3.2.0/bin:$PATH' >>/etc/profile
source /etc/profile

2.安裝pt-kill依賴包

  • 查看percona-toolkit的官方文檔,了解其具體的依賴要求。官方文檔通常會列出工具所需要的 Perl 模塊以及其他相關的依賴項。 檢查系統中是否已經安裝了所需的 Perl 模塊。可以使用以下命令檢查,檢查是否安裝了perl-DBI、perl-DBD-MySQL、perl-Time-HiRes和perl-IO-Socket-SSL等模塊。
rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
  • 如果有依賴包缺失,可以使用相應的包管理工具進行安裝,例如在基于 Red Hat 的系統上使用
yum install perl-DBI yum install perl-DBD-MySQL yum install perl-Time-HiRes yum install perl-IO-Socket-SSL
  • 還需要確保系統中安裝了perl-Digest-MD5模塊。如果未安裝,可以使用以下命令進行安裝
yum -y install perl-Digest-MD5

3.參數介紹:

  • 連接參數
--host=:指定要連接的 MySQL 主機名或 IP 地址。
--port=:指定要連接的 MySQL 端口號。
--user=:指定連接 MySQL 的用戶名。
--password=:指定連接 MySQL 的密碼。
  • 篩選會話的規則
--match-user=:匹配特定的用戶名。
--match-host=:匹配特定的主機名或 IP 地址。
--match-db=:匹配特定的數據庫名。
--match-command=:匹配特定的命令,例如Sleep、Query等。
--busy-time/idle-time=:匹配執行時間超過或空閑時間超過指定值的連接,單位可以是秒或分鐘。
--match-state=:匹配特定的狀態,例如Sleep、Running等。
--match-info=:匹配連接的其他信息,例如查詢語句。
--ignore-user=:忽略特定的用戶名。
--ignore-host=:忽略特定的主機名或 IP 地址。
--ignore-db=:忽略特定的數據庫名。
--ignore-command=:忽略特定的命令。
--ignore-state=:忽略特定的狀態。
--ignore-info=:忽略連接的其他信息。
  • 執行動作的參數
--kill:殺掉匹配的連接并退出會話。
--kill-query:只殺掉執行的語句,不退出會話。
--print:只打印出匹配的會話,不殺。
--victims:指定要 kill 的連接類型,可以是oldest(只殺最古老的查詢)或all(殺死所有匹配的查詢)。
  • 其他參數
--daemonize:以守護進程的形式運行。
--interval=:間隔多久運行一次,默認30s。
--run-time=:運行多久后退出。
--config:指定配置文件。
--group-by:按照指定的條件對查詢結果進行分組。

4.操作示例

pt-kill --host xxxxx --port 3306 --user root --password xxxxxxx --match-command Query --busy-time 5 --kill --victims all

在上述命令中
--match-command Query指定要匹配的命令為查詢操作
--busy-time 5表示查詢時間超過5秒
--kill表示執行終止操作
--victims all表示終止所有滿足條件的連接

0條評論
0 / 1000
DBM
8文章數
0粉絲數
DBM
8 文章 | 0 粉絲
原創

使用pt-kill從數據庫側限流

2024-06-20 03:17:34
22
0

簡介

pt-kill 是一款用于 kill MySQL 連接的工具,它是 percona-toolkit 的一部分。在因空閑連接較多導致超過最大連接數,或某個有問題的 SQL 導致 MySQL 負載很高時,可以使用 pt-kill 來終止一些連接,以保護數據庫。pt-kill 可以通過連接 MySQL 并執行show processlist命令來獲取查詢語句,然后根據指定的條件篩選出需要 kill 的查詢,并執行相應的操作,如 kill、打印等。它支持多種匹配條件,如查詢執行時間、命令類型、用戶、主機、數據庫等。
 
官方文檔://docs.percona.com/percona-toolkit/pt-kill.html

1.安裝percona-toolkit

#!/bin/bash
#官網下載地址,版本可選://www.percona.com/downloads
wget //downloads.percona.com/downloads/percona-toolkit/3.2.0/binary/tarball/percona-toolkit-3.2.0_x86_64.tar.gz
tar zxf percona-toolkit-3.2.0_x86_64.tar.gz -C /usr/bin
echo 'export PATH=/usr/bin/percona-toolkit-3.2.0/bin:$PATH' >>/etc/profile
source /etc/profile

2.安裝pt-kill依賴包

  • 查看percona-toolkit的官方文檔,了解其具體的依賴要求。官方文檔通常會列出工具所需要的 Perl 模塊以及其他相關的依賴項。 檢查系統中是否已經安裝了所需的 Perl 模塊。可以使用以下命令檢查,檢查是否安裝了perl-DBI、perl-DBD-MySQL、perl-Time-HiRes和perl-IO-Socket-SSL等模塊。
rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
  • 如果有依賴包缺失,可以使用相應的包管理工具進行安裝,例如在基于 Red Hat 的系統上使用
yum install perl-DBI yum install perl-DBD-MySQL yum install perl-Time-HiRes yum install perl-IO-Socket-SSL
  • 還需要確保系統中安裝了perl-Digest-MD5模塊。如果未安裝,可以使用以下命令進行安裝
yum -y install perl-Digest-MD5

3.參數介紹:

  • 連接參數
--host=:指定要連接的 MySQL 主機名或 IP 地址。
--port=:指定要連接的 MySQL 端口號。
--user=:指定連接 MySQL 的用戶名。
--password=:指定連接 MySQL 的密碼。
  • 篩選會話的規則
--match-user=:匹配特定的用戶名。
--match-host=:匹配特定的主機名或 IP 地址。
--match-db=:匹配特定的數據庫名。
--match-command=:匹配特定的命令,例如Sleep、Query等。
--busy-time/idle-time=:匹配執行時間超過或空閑時間超過指定值的連接,單位可以是秒或分鐘。
--match-state=:匹配特定的狀態,例如Sleep、Running等。
--match-info=:匹配連接的其他信息,例如查詢語句。
--ignore-user=:忽略特定的用戶名。
--ignore-host=:忽略特定的主機名或 IP 地址。
--ignore-db=:忽略特定的數據庫名。
--ignore-command=:忽略特定的命令。
--ignore-state=:忽略特定的狀態。
--ignore-info=:忽略連接的其他信息。
  • 執行動作的參數
--kill:殺掉匹配的連接并退出會話。
--kill-query:只殺掉執行的語句,不退出會話。
--print:只打印出匹配的會話,不殺。
--victims:指定要 kill 的連接類型,可以是oldest(只殺最古老的查詢)或all(殺死所有匹配的查詢)。
  • 其他參數
--daemonize:以守護進程的形式運行。
--interval=:間隔多久運行一次,默認30s。
--run-time=:運行多久后退出。
--config:指定配置文件。
--group-by:按照指定的條件對查詢結果進行分組。

4.操作示例

pt-kill --host xxxxx --port 3306 --user root --password xxxxxxx --match-command Query --busy-time 5 --kill --victims all

在上述命令中
--match-command Query指定要匹配的命令為查詢操作
--busy-time 5表示查詢時間超過5秒
--kill表示執行終止操作
--victims all表示終止所有滿足條件的連接

文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0