常用的Percona-Toolkit工具

本文详细介绍Percona工具集中的pt-kill、pt-slave-restart和pt-query-digest的使用方法,涵盖进程批量杀、MySQL同步错误跳过及慢日志分析等场景,帮助读者掌握数据库管理与优化技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.pt-kill 用来批量杀进程

常用场景

1.杀掉查询时间超过50的查询会话(info后可变条件如"select|SELECT|delete|DELETE|update|UPDATE")

pt-kill --host=localhost --port=3306 --user=root --password=root  --match-db='test'  --match-info "select|SELECT" --busy-time 50 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log #加--print可只打印符合的进程#

2.杀掉来自某个IP的会话

pt-kill --host=localhost --port=3306 --user=root --password=root  --match-db='test'  --match-host "192.168.**.**" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log

3.杀掉来自某个用户的会话

pt-kill --host=localhost --port=3306 --user=root --password=root  --match-db='test'  --match-user "u2" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log

4.杀掉正在执行某个操作的会话(stat后可变条件如Locked、login、copy to tmp table、Copying to tmp table、Copying to tmp table on disk、Creating tmp table、executing、Reading from net、Sending data、Sorting for order、Sorting result、Table lock、Updating)

pt-kill --host=localhost --port=3306 --user=root --password=rootp  --match-db='test'  --match-command Query --match-state "Creating sort index"  --run-time 1 --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log

5.杀掉有query的进程(command后可变条件如Query、Sleep、Binlog Dump、Connect、Delayed insert、Execute、Fetch、Init DB、Kill、Prepare、Processlist、Quit、Reset stmt、Table Dump等)

pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-command="Query" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/kill.log

二.pt-slave-restart 跳过mysql同步错误

pt-slave-restart --error-numbers=1062 -h localhost -uroot -proot > /tmp/skip.log

三.pt-query-digest 慢日志分析

1.直接分析慢查询文件:

pt-query-digest  slow.log > slow_report.log

2.分析最近12小时内的查询:

pt-query-digest  --since=12h  slow.log > slow_report2.log

3.分析指定时间范围内的查询:

pt-query-digest slow.log --since '2017-01-07 09:30:00' --until '2017-01-07 10:00:00'> > slow_report3.log

4.分析指含有select语句的慢查询

pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i' slow.log> slow_report4.log

5.针对某个用户的慢查询

pt-query-digest --filter '($event->{user} || "") =~ m/^root/i' slow.log> slow_report5.log

6.查询所有所有的全表扫描或full join的慢查询

pt-query-digest --filter '(($event->{Full_scan} || "") eq "yes") ||(($event->{Full_join} || "") eq "yes")' slow.log> slow_report6.log

7.把查询保存到query_review表

pt-query-digest --user=root –password=abc123 --review  h=localhost,D=test,t=query_review--create-review-table  slow.log

8.把查询保存到query_history表

pt-query-digest  --user=root –password=abc123 --review  h=localhost,D=test,t=query_history--create-review-table  slow.log_0001
pt-query-digest  --user=root –password=abc123 --review  h=localhost,D=test,t=query_history--create-review-table  slow.log_0002

转载于:https://www.cnblogs.com/Knight7971/p/10310379.html

<think>好的,我现在需要帮助用户了解如何用yum卸载percona-toolkit。首先,我应该回忆一下yum的基本卸载命令。记得yum的卸载命令是`yum remove`,后面跟上包名。那用户提到的包是percona-toolkit,所以命令应该是`sudo yum remove percona-toolkit`。 接下来,我需要考虑用户可能遇到的问题。比如,用户可能不确定是否安装了该软件包,或者包名是否正确。这时候,可能需要先检查是否已安装。可以用`yum list installed | grep percona-toolkit`来确认。如果用户不确定包名,可能需要建议他们用通配符查找,比如`yum list available "percona-toolkit*"`,或者使用`yum search`命令。 然后,卸载过程中可能会有依赖关系的问题。yum通常会处理这些依赖,自动删除不再需要的依赖包。但用户可能担心这会影响到其他软件,所以需要提醒他们注意确认卸载列表中的其他包是否重要。此外,卸载后可能需要清理残留的配置文件或数据文件,这时候可以建议手动检查相关目录,比如/etc/percona或用户主目录下的相关文件。 另外,用户可能想知道卸载后的确认步骤。卸载完成后,可以再次运行`yum list installed | grep percona-toolkit`来确保包已不存在。或者尝试执行`pt-`开头的命令,比如`pt-online-schema-change --version`,如果提示命令未找到,说明卸载成功。 还要注意权限问题,卸载软件通常需要sudo权限,所以命令前要加sudo,并提示用户输入密码。如果用户没有sudo权限,可能需要管理员操作,这时候要说明这一点。 最后,总结步骤,确保结构清晰,分步骤说明,每个步骤附带解释,让用户明白为什么要这样做。同时提醒注意事项,比如依赖包和残留文件,确保用户操作安全。</think>以下是在CentOS/RHEL系统上使用`yum`卸载`percona-toolkit`的步骤: --- ### **步骤1:确认已安装的包** 首先检查是否已安装`percona-toolkit`: ```bash yum list installed | grep percona-toolkit ``` 如果看到类似输出: ``` percona-toolkit.noarch 3.5.5-1.el7 @percona-release-x86_64 ``` 则表示已安装。 --- ### **步骤2:执行卸载命令** 使用`yum remove`卸载软件包: ```bash sudo yum remove percona-toolkit ``` 系统会列出将被删除的包和依赖项,输入`y`确认卸载。 --- ### **步骤3:验证卸载结果** 再次运行检查命令,确认无输出: ```bash yum list installed | grep percona-toolkit ``` 尝试执行`percona-toolkit`工具(如`pt-query-digest`): ```bash pt-query-digest --version ``` 若提示`command not found`,则卸载成功。 --- ### **注意事项** 1. **依赖项问题**: yum会自动移除不再需要的依赖包。如果这些依赖被其他软件使用,可能导致问题,卸载前请仔细确认列表。 2. **残留文件**: yum不会删除配置文件或数据文件。如需彻底清理,手动检查以下目录: ```bash /etc/percona /var/lib/percona ~/.percona-toolkit ``` 3. **包名匹配**: 如果找不到包,尝试用通配符查询: ```bash yum list available "percona-toolkit*" ``` --- ### **总结** 完整流程为:**确认安装 → 卸载 → 验证清理**。操作时需注意权限和依赖影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值