常用的Percona-Toolkit工具

一.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

猜你喜欢

转载自www.cnblogs.com/Knight7971/p/10310379.html