MySQL数据库是轻量级、开源数据库的佼佼者,其功能和管理,健壮性与Oracle相比还是有相当的差距。因此有很多功能强大第三方的衍生产品,如percona-toolkit,XtraBackup等等。
Percona Toolkit简称pt工具—PT-Tools,是Percona公司开发用于管理MySQL的一组高级命令行工具的集合。
可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等。这个工具套件对MySQL DBA确实很香甜。功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、在线DDL等。
本文简要描述这个工具的简单安装及其工具大致介绍。
下载地址为: https://www.percona.com/downloads/percona-toolkit/LATEST/
先看下Percona Toolkit工具分类有哪些,到底能干些啥?
Percona Toolkit有的32个命令,可以分为7大类
工具类别 工具命令 工具作用 备注
开发类
pt-duplicate-key-checker 列出并删除重复的索引和外键
pt-online-schema-change 在线修改表结构
pt-query-advisor 分析查询语句,并给出建议,有bug 已废弃
pt-show-grants 规范化和打印权限
pt-upgrade 在多个服务器上执行查询,并比较不同
性能类
pt-index-usage 分析日志中索引使用情况,并出报告
pt-pmp 为查询结果跟踪,并汇总跟踪结果
pt-visual-explain 格式化执行计划
pt-table-usage 分析日志中查询并分析表使用情况 pt 2.2新增命令
配置类
pt-config-diff 比较配置文件和参数
pt-mysql-summary 对mysql配置和status进行汇总
pt-variable-advisor 分析参数,并提出建议
监控类
pt-deadlock-logger 提取和记录mysql死锁信息
pt-fk-error-logger 提取和记录外键信息
pt-mext 并行查看status样本信息
pt-query-digest 分析查询日志,并产生报告 常用命令
pt-trend 按照时间段读取slow日志信息 已废弃
复制类
pt-heartbeat 监控mysql复制延迟
pt-slave-delay 设定从落后主的时间
pt-slave-find 查找和打印所有mysql复制层级关系
pt-slave-restart 监控salve错误,并尝试重启salve
pt-table-checksum 校验主从复制一致性
pt-table-sync 高效同步表数据
系统类
pt-diskstats 查看系统磁盘状态
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新增命令
上面是pt工具各个命令的基本功能介绍,可用 command --help 来查看每个命令的具体作用和使用方法;有的命令也可以使用 man command 命令查询相关命令详细信息。
再看如何安装?3种方法。
-
先检查安装环境:
检查和安装与Perl相关的模块
PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。
依赖包检查命令为:
rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL -
下载地址:https://www.percona.com/downloads/percona-toolkit/LATEST/
如果是tar包下载,需要在下图中”Software”选择“Linux-Generic”
方法1:yum方式
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install -y perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes
yum -y install percona-toolkit
方法2:源码安装方式
快速安装步骤(缺省/usr/local/bin路径下,过程略)
# tar zxvf percona-toolkit-<version>.tar.gz
这里为最新版本
# tar zxvf percona-toolkit-3.3.1_x86_64.tar.gz
# cd percona-toolkit-<version>
# perl Makefile.PL (安装到非缺省目录 perl Makefile.PL PREFIX=${HOME})
# make
# make test
# make install
方法3:二进制tar包安装(推荐)
# tar zxvf percona-toolkit-<version>.tar.gz
# cd percona-toolkit-<version>
最新版本举例:# tar zxvf percona-toolkit-3.3.1_x86_64.tar.gz
# cd percona-toolkit-3.3.1/bin
# cp * /usr/bin
# pt
安装后,可以通过下面的命令确认是否安装成功:
# pt-query-digest --help
# pt-table-checksum --help
如果命令提示可以正常显示,则说明pt工具已正常安装。
再列举几个常用的命令:
1.pt-archive ----MySQL的在线归档,无影响生产
2.pt-kill -----自定义查杀。确保慢查询及恶性攻击对生产无影响
3.pt-online-schema-change ----在线DDL操作,对上亿的大表加索引加字段且对生产无影响
4.pt-query-digest -----慢查询Log的分析。
5.pt-slave-delay —就是指定从库比主库延迟多长时间
6.pt-table-checksum & pt-table-sync-----检查主从是否一致性-----检查主从不一致之后用这个工具进行处理 这两个一搬是搭配使用
7. pt-find —找出几天之前建立的表
8. pt-slave-restart -----主从报错,跳过报错
9.pt-summary —整个系统的的概述
10.pt-mysql-summary —MySQL的表述,包括配置文件的描述
11.pt-duplicate-key-checker —检查数据库重复索引
文章结束。
以下为个人公众号,欢迎扫码关注: