下载和安装percona toolkit的包
$ yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
# tinghua mirror
$ yum install https://mirrors.tuna.tsinghua.edu.cn/percona/yum/percona-release-latest.noarch.rpm
2、查看可以安装的包
这里如果使用了镜像需要将镜像的访问地址替换掉, 否则无法使用镜像地址进行更新
$ sed -i 's/repo.percona.com/mirrors.tuna.tsinghua.edu.cn\/percona/g' /etc/yum.repos.d/percona-tools-release.repo
# 此项目之后启用了 tools 之后才能替换
$ sed -i 's/repo.percona.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/yum.repos.d/percona-original-release.repo
$ yum list | grep percona-toolkit
$ percona-release enable tools
$ yum install -y percona-toolkit
对于 Percona-xtrabackup , 有这几个版本
percona-xtrabackup-22
percona-xtrabackup-24 # for 5.6/5.7
percona-xtrabackup-80 # for 8.0
percona-toolkit 介绍
percona-toolkit 是一组高级命令行工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等
percona-toolkit 源自 Maatkit 和 Aspersa 工具,这两个工具是管理 mysql 的最有名的 工具,!这些工具主要包括开发、性能、配置、监控、复制、系统、实用六大类,作为一个优秀的 DBA,里面有的工具非常有用,如果能掌握并加以灵活应用,将能极大的提高工作效率。
命令说明
有的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 命令查询相关命令详细信息。
percona-xtrabackup 介绍
percona-xtrabackup 软件包中中包含了两个工具,一个是xtrabackup,另一个是 innobackupex,innobackupex 由 perl 进行封装,在对 innodb 表进行备份时会自动调用 xtrabackup 工具,所以对 InnoDB 表做备份的实际是xtrabackup这个工具,xtrabackup 也只能对innodb表做备份,这是一个专门对 innodb 开发的热备工具,而对myisam 这样的其他引擎的表则由 innobackupex 来负责备份,若是全备份加增量的方案,那每次增量 innobackupex 工具对非innodb表都是全备份且会请求读锁。
xtrabackup 对 innodb 表进行备份时不再只是简单复制文件,而是利用在innodb存储引擎层中的LSN(日志序列号)的新旧来识别这一数据页是否需要备份。
xtraback 工具对 innodb 引擎完美支持真正的热备份,备份好的数据中数据文件与事务日志的文件因innodb cache等因素的存在,所以备份好的数据和事务日志中的数据往往是不一致的,所以,在做数据恢复时需要把事务日志中已提交的事务做redo,没有提交的事务做 undo 操作,这就是在做数据恢复时要做的准备工作,即 prepare。