【说明】

  percona-toolkit工具包是一组高级的管理mysql的工具包集,可以用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,下载和安装都很简单https://www.percona.com。生产环境中使用过其中若干工具,极大的提高效率且解决了遇到的问题,特此整理一下备忘,同时推荐使用。

【安装】

一.检查和安装Perl依赖包

percona工具是使用Perl语言编写和执行的,所以需要系统中要有Perl依赖包。依赖包检查命令为:

rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL

 如果机器上没有依赖包,安装

yum install perl-DBI
yum install perl-DBD-MySQL
yum install perl-Time-HiRes
yum install perl-IO-Socket-SSL

二.下载安装percona toolkit包

1、下载和安装percona toolkit的包

参照:https://www.percona.com/doc/percona-toolkit/3.0/installation.html#installing-percona-toolkit-on-red-hat-or-centos

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-/percona-release-0.1-.noarch.rpm

2.安装percona-toolkit工具包

yum install percona-toolkit

安装成功,最后有“Complete!

【功能】

分类

工具命令

工具作用

备注

开发类

pt-duplicate-key-checker

列出并删除重复的索引和外键

 

pt-online-schema-change

在线修改表结构

常用。

InndoDB有部分语句不支持在线DDL,大表DDL操作阻塞会影响查询、主从同步等问题。

该工具,会先新建立一个要改变后的表,然后分批拷贝原表数据到新表中,不会影响原表使用。完全同步后,重命名新表,更安全的在线执行DDL。

/usr/local/bin/pt-online-schema-change --user=用户名 --password=密码 --host=数据库IP --port=端口号 --charset=utf8mb4 --nodrop-old-table --alter="sql语句片段,例如add column xxfieldname' " D=ad_api,t=t_ad_req_log --exec

pt-query-advisor

分析查询语句,并给出建议,有bug

已废弃

pt-show-grants

规范化和打印权限

常用。

可导出create user和grant授权语句,迁移数据库账号时使用

pt-upgrade

在多个服务器上执行查询,并比较不同

 

性能类

pt-index-usage

分析日志中索引使用情况,并出报告

 

pt-pmp

为查询结果跟踪,并汇总跟踪结果

 

pt-visual-explain

格式化执行计划tree方式输出

 

pt-table-usage

分析日志中查询并分析表使用情况

pt 2.2新增命令

配置类

pt-config-diff

比较配置文件和参数

常用。

MySQL8之前,在线set变量不支持persist,如果忘记在配置文件中同步修改,MySQL重启后会读取配置文件中的老变量导致出现问题。pt-config-diff工具可以比较当前在线变量和配置文件变量的差异,常用。

pt-mysql-summary

对mysql配置和status进行汇总

 精细地对 mysql 的配置和 sataus 信息进行汇总

pt-variable-advisor

分析参数,并提出建议

 

监控类

pt-deadlock-logger

提取和记录mysql死锁信息

常用。死锁信息记录,使用方法:

1.set global innodb_print_all_deadlocks=on;

2.pt-deadlock-logger u=dba,p=密码,h=数据库ip --create-dest-table --dest u=dba,p=密码,h=数据库ip,D=crn,t=deadlock

pt-fk-error-logger

提取和记录外键信息

 

pt-mext

并行查看status样本信息

 

pt-query-digest

分析查询日志,并产生报告

常用命令,慢查询日志分析工具

pt-trend

按照时间段读取slow日志信息

已废弃

复制类

pt-heartbeat

监控mysql复制延迟

常用。主从延迟监控。

show slave status \G;查看Seconds_behind_Master参数是基于slave生成的relaylog与master时间差值,并不准确。例如执行一个大事务,主从延迟已发生,但relaylog还未生成。

pt-heartbeat工具可以规避该问题,使用的是Master后台周期写入,slave后台周期读取的方式。

pt-heartbeat --user=用户名 --password=密码 -h master --createtable --database 监测库名 --update --daemonize --interval 周期秒数

pt-heartbeat --user=用户名 --password=密码 -h slave --database crn --monitor--daemonize --log 监控日志路径和名称

pt-slave-delay

设定从落后主的时间

 

pt-slave-find

查找和打印所有mysql复制层级关系

 

pt-slave-restart

监控salve错误,并尝试重启salve

监控一个或者多个MySQL复制slave,试图跳过引起错误的语句。以指数变化的睡眠时间智能检查slave。可以指定要跳过的错误然后运行slave,一直到一个确定的binlog位置。一旦检测到slave有错误就会打印一行。默认打印:时间戳、连接信息、relay_log_file,relay_log_pos,last_errno。

pt-table-checksum

校验主从复制一致性

常用。判断主从是否同步。

在主库上执行校验,然后对复制的一致性进行检查,来对比主从之间的校验值,并输出对比结果。

pt-table-sync

高效同步表数据

常用。修复主从同步不一致

pt-table-sync --replicate=test.checksums h=MasterIP,u=Master用户名,p=Master密码,P=Master端口  h=SlaveIP,u=Slave用户名,p=Slave密码,P=Slave端口 --print

系统类

pt-diskstats

查看系统磁盘状态

 打印磁盘 io 统计信息,比 iostat 输出更细

pt-fifo-split

模拟切割文件并输出

 

pt-summary

收集和显示系统概况

 

pt-stalk

出现问题时,收集诊断数据

 

pt-sift

浏览由pt-stalk创建的文件

pt 2.2新增命令

pt-ioprofile

查询进程IO并打印一个IO活动表

pt 2.2新增命令

实用类

pt-archiver

将表数据归档到另一个表或文件中

 

pt-find

查找表并执行命令

 

pt-kill

Kill掉符合条件的sql

常用命令

pt-align

对齐其他工具的输出

pt 2.2新增命令

pt-fingerprint

将查询转成密文

pt 2.2新增命令

【MySQL】percona-toolkit工具包的更多相关文章

  1. Percona Toolkit mysql辅助利器

    1 PT介绍 Percona Toolkit简称pt工具—PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在 ...

  2. RDS for MySQL 如何使用 Percona Toolkit

    Percona Toolkit 包含多种用于 MySQL 数据库管理的工具. 下面介绍常用的 pt-online-schema-change  和  pt-archiver 搭配 RDS MySQL ...

  3. Percona Toolkit工具连接MySQL 8报错的解决方案

    使用Percona Toolkit的工具连接MySQL 8.x数据库时,会遇到类似"failed: Plugin caching_sha2_password could not be loa ...

  4. Centos 安装Percona Toolkit工具集

    1.下载 下载地址:   https://www.percona.com/downloads/percona-toolkit/LATEST/ [root@bogon ~]# wget https:// ...

  5. Percona Toolkit工具集介绍

    部署mysql工具是一个非常重要的部分,所以工具的可靠性和很好的设计非常重要.percona toolkit是一个有30多个mysql工具的工具箱.兼容mysql,percona server,mar ...

  6. Want to archive tables? Use Percona Toolkit’s pt-archiver--转载

    原文地址:https://www.percona.com/blog/2013/08/12/want-to-archive-tables-use-pt-archiver/ Percona Toolkit ...

  7. MySQL Percona Toolkit--pt-osc重点参数

    修改命令参数alter .不需要包含alter table关键字,可以包含多个修改操作,使用逗号分开,如"drop clolumn c1, add column c2 int" . ...

  8. Percona Toolkit工具使用

    Percona Toolkit简称pt工具-PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在线DDL等 下 ...

  9. MySQL(Percona Server) 5.6 主从复制

    MySQL(Percona Server) 5.6.15 主库:192.168.2.21 从库:192.168.2.22 例如我们同步的数据库为:test. 如果需要同步多个数据库下面会有说明. My ...

随机推荐

  1. ng环境搭建步骤

    1,安装node node -v查看版本号 2,安装淘宝镜像 npm config set registry https://registry.npm.taobao.org 3,安装cnpm npm ...

  2. echart 图例

    说明:stack相同,两个bar合并但是不会重叠 如果需要重叠 用barGap: '-100%', 根据不同的需求来使用两者. <template> <div> echart ...

  3. laraval migration 新增字段或者修改字段的方法

    1.进入项目根目录执行artisan命令生成migration文件,可以指定--table和--path参数,会在对应目录下生成migration文件. php artisan make:migrat ...

  4. JSP 页面跳转的实现方法

    客户端跳转 1. 使用 href 超链接标记  <a href="new.jsp">跳转</a> 2. 使用表单提交完成跳转  <form actio ...

  5. core的微服务相关

    网关是ocelot consul 服务发现 配置中心apollo

  6. Chapter5_初始化与清理_构造器初始化

    一.构造器初始化的基本顺序 在使用构造器进行初始化时,最需要注意的是初始化的顺序,这种方法可以给初始化的顺序带来很大的灵活性.看如下的一个例子. class Window{ Window(int ma ...

  7. dubbo入门学习 六 admin管理界面

    1. 本质就是一个web项目 2. 获取注册中心内Provider注册的信息.用页面呈现出来. 3. 实现步骤 3.1 把dubbo-admin-2.5.3.war上传到服务器tomcat中. 3.2 ...

  8. python神器之fabric

    官网:http://www.fabfile.org/ 中文站点:http://fabric-chs.readthedocs.io/zh_CN/chs/ Fabirc是基于python实现的SSH命令行 ...

  9. 用STS构建spring boot

    操作步骤:1. 登录地址http://spring.io/tools 下载sts,spring-tool-suite-3.9.5.RELEASE-e4.8.0-win32-x86_64.zip2. 解 ...

  10. GitHub上高质量项目

    scribejava/scribejava:一个简单的 Java 实现的 OAuth/OAuth2 库winterbe/java8-tutorial:绝对值得一看的Java8指南.教程javaee-s ...