常用的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值