Percona Toolkit 常用工具使用介绍

时间:2022-05-03
本文章向大家介绍Percona Toolkit 常用工具使用介绍,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Percona Toolkit 是一组高级的命令行工具,用来管理 MySQL 和系统任务,主要包括:

1、验证主节点和复制数据的一致性

2、有效的对记录行进行归档

3、找出重复的索引

4、总结 MySQL 服务器

5、从日志和 tcpdump 中分析查询

6、问题发生时收集重要的系统信息

一、安装步骤忽略

http://www.percona.com/downloads/percona-toolkit

二、常用工具集:

1、服务器摘要

    pt-summary  

2、服务器磁盘监测

    pt-diskstats  

3、mysql服务状态摘要

    pt-mysql-summary -- --user=root --password=root  

4、慢查询日志分析统计

分析一段时间的slow日志:

    pt-query-digest slow.log --since '2014-04-17 09:30:00' --until '2014-04-17 10:00:00'> slow1.log

通过tcpdump抓取分析日志:

    tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 3306 > mysql.tcp.txt
    pt-query-digest --type tcpdump mysql.tcp.txt> slow_report9.log

分析binlog日志:

    mysqlbinlog mysql-bin.000093 > mysql-bin000093.sql
    pt-query-digest  --type=binlog  mysql-bin000093.sql > slow_report10.log

分析全日制:

    pt-query-digest  --type=genlog  localhost.log > slow_report11.log

5、表同步工具,和mk-tables-sync功能一样, 用法上稍有不一样,--print的结果更详细

    pt-table-sync --execute --print --no-check-slave --database=world  h='127.0.0.1' --user=root --password=123456 h='192.168.0.212' --user=root --password=123456  

6、主从状态监测,提供给它一台mysql服务器的IP用户名密码,就可以分析出整个主从架构中每台服务器的信息,包括但不限于mysql版本,IP地址,server ID,mysql服务的启动时间,角色(主/从),Slave Status(落后于主服务器多少秒,有没有错误,slave有没有在运行)。

    pt-slave-find --host=localhost --user=rhce6 --password=rhce6    
 localhost   
    Version          5.5.23-log   
    Server ID       1   
    Uptime            05:16:10 (started 2012-08-08T09:32:03)   
    Replication     Is not a slave, has 1 slaves connected, is not read_only   
    Filters            
    Binary logging  STATEMENT   
    Slave status       
    Slave mode      STRICT   
    Auto-increment  increment 1, offset 1   
    InnoDB version  1.1.8   
    +- 192.168.0.168   
    Version           5.5.23-log  
    Server ID        10   
    Uptime            38:19 (started 2012-08-08T14:09:54)   
    Replication      Is a slave, has 0 slaves connected, is not read_only   
    Filters            
    Binary logging  STATEMENT   
    Slave status     0 seconds behind, running, no errors   
    Slave mode      STRICT   
    Auto-increment  increment 1, offset 1   
    InnoDB version  1.1.8

7、mysql死锁监测

pt-deadlock-logger --create-dest-table --dest D=test,t=deadlocks -S /home/data/mysql/tmp/mysql.sock u=root,p="123456"
pt-deadlock-logger --daemonize --run-time=300 --dest D=test,t=deadlocks  -S /home/data/mysql/tmp/mysql.sock u=root,p="123456" &

8、主键冲突检查

pt-duplicate-key-checker --database=world h='127.0.0.1' --user=root --password=123456  

9、监测从库的复制延迟 ###经过测试 运行这个命令会使从库上的sql线程异常挂掉

pt-slave-delay --host 192.168.0.206 --user=root --password=123456  

10、杀掉全部的读 每一秒杀一次查询时间超过10秒的查询 记录日志

pt-kill --user=xxxxx --password=xxxxxx --busy-time 10 --victim all --interval 1 --kill --daemonize --print --log=/export/data/mysql/log/pt-kill.log

--daemonize这个参数是使用守护进程的方式运行