percona toolkit

来源:这里教程网 时间:2026-03-01 18:34:47 作者:

1.安装官方下载地址: https://www.percona.com/downloads

(1).安装依赖包
yum install -y perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey
(2).rpm -ivh percona-toolkit-3.7.1-2.el8.x86_64.rpm

2.常用功能(1).pt-query-digest 

慢查询日志分析
pt-query-digest --user=root --password=rootroot --review h=192.168.18.85,D=percona,t=query_review  \
/mysql/log/3306/fgedudb-query.err

(2).pt-online-schema-change

在线ddl
pt-online-schema-change \
  --alter="ADD INDEX idx_email (email)" \
  D=mydb,t=users \
  --execute \
  --max-load Threads_running=50 \
  --critical-load Threads_running=100

(3).pt-table-checksum + pt-table-sync

检查主从同步
pt-table-checksum \
  h=192.168.18.81,u=root,p='r
  ootroot' \
  --port=3306 \
  --recursion-method=processlist \
  --replicate=percona.checksums \
  --create-replicate-table \
  --empty-replicate-table \
  --max-load Threads_running=50 \
  --chunk-size=1000 \
  --no-check-binlog-format \
  --no-check-replication-filters  # 添加这个参数
同步数据 在从库执行
pt-table-sync \
  h=192.168.18.82,u=root,p=rootroot \
  --sync-to-source \
  --replicate=percona.checksums \
  --execute \
  --print  # 先打印要执行的SQL,不执行

(4).pt-mysql-summary

pt-mysql-summary --host=192.168.18.85 --user=root --password=rootroot

(5).pt-slave-find

#主从复制层级关系
pt-slave-find --host=192.168.18.81 --port=3306 --user=root --password=rootroot

(6).pt-variable-advisor

#获取参数建议
pt-variable-advisor --user=root --password=rootroot 192.168.18.81

(7).pt-config-diff

#比较配置文件和参数
pt-config-diff h=192.168.18.81,P=3306 h=192.168.18.82,P=3306 --user=root --password=rootroot

(8).pt-index-usage

#索引使用情况
pt-index-usage -h192.168.18.81 -P3306 -uroot -prootroot  /mysql/log/3306/fgedudb-query.err

(9).pt-show-grants

#显示权限
pt-show-grants --host=192.168.18.81 --user=root --password=rootroot

(10).pt-duplicate-key-checker

#查找冗余索引
pt-duplicate-key-checker \
  h=192.168.18.81,u=root,p=rootroot \
  --port=3306

(11).pt-kill

# 杀死运行超过60秒的查询
pt-kill h=localhost,u=root,p=password \
  --busy-time 60 --kill
# 只打印不杀死(测试模式)
pt-kill h=localhost --busy-time 60 --prin

相关推荐