• 欢迎访问安全专题网站,安全专题信息,安全专题教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入安全专题 QQ群
  • 安全专题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏安全专题吧

Centos7下编译安装和使用Percona-toolkit工具

安全运维 aqzt 3个月前 (04-08) 191次浏览 0个评论

Percona-toolkit 是一组高级命令行 MySQL 工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,
查找重复索引,实现表同步等等,
一、下载
可以访问 http://www.percona.com/software/percona-toolkit/
也可以直接下载:
wget https://www.percona.com/downloads/percona-toolkit/3.0.8/source/tarball/percona-toolkit-3.0.8.tar.gz

二、安装
2.1 所需组件安装
yum install -y perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-DBI perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-Digest perl-Digest-MD5 perl-TermReadKey

2.2 编译安装
tar xzvf percona-toolkit-3.0.8.tar.gz
cd percona-toolkit-3.0.8
perl Makefile.PL
make
make test
make install

三、使用命令

# ls -hltr /usr/bin/pt-*
pt-upgrade
#该命令主要用于对比不同 mysql 版本下 SQL 执行的差异,通常用于升级前进行对比。
#会生成 SQL 文件或单独的 SQL 语句在每个服务器上执行的结果、错误和警告信息等。

pt-online-schema-change
#功能为支持在线变更表构,且不锁定原表,不阻塞原表的 DML 操作。
#该特性与 Oracle 的 dbms_redefinition 在线重定义表原理基本类似。

pt-mysql-summary
#对连接的 mysql 服务器生成一份详细的配置情况以及 sataus 信息
#在尾部也提供当前实例的的配置文件的信息

pt-mext
#并行查看 SHOW GLOBAL STATUS 的多个样本的信息。
#pt-mext 会执行你指定的 COMMAND,并每次读取一行结果,把空行分割的内容保存到一个一个的临时文件中,最后结合这些临时文件并行查看结果。

pt-kill
#Kill 掉符合指定条件 mysql 语句

pt-ioprofile
#pt-ioprofile 的原理是对某个 pid 附加一个 strace 进程进行 IO 分析

pt-fingerprint
#用于生成查询指纹。主要将将 sql 查询生成 queryID,pt-query-digest 中的 ID 即是通过此工具来完成的。
#类似于 Oracle 中的 SQL_ID,涉及绑定变量,字面量等

pt-find
#用与查找 mysql 表并执行指定的命令,类似于 find 命令

pt-fifo-split
#模拟切割文件并通过管道传递给先入先出队列而不用真正的切割文件

pt-deadlock-logger
#用于监控 mysql 服务器上死锁并输出到日志文件,日志包含发生死锁的时间、死锁线程 id、死锁的事务 id、发生死锁时事务执行时间等详细信息。

pt-archiver
#将 mysql 数据库中表的记录归档到另外一个表或者文件
#该工具具只是归档旧的数据,对线上数据的 OLTP 查询几乎没有影响。
#可以将数据插入另外一台服务器的其他表中,也可以写入到一个文件中,方便使用 load data infile 命令导入数据。

pt-agent
#基于 Percona Cloud 的一个客户端代理工具

pt-visual-explain
#用于格式化 explain 的输出

pt-variable-advisor
#用于分析 mysql 系统变量可能存在的一些问题,可以据此评估有关参数的设置正确与否。

pt-stalk
#用于收集 mysql 数据库故障时的相关信息便于后续诊断处理。

pt-slave-delay
#用于设定从服务器落后于主服务器的时间间隔。
#该命令行通过启动和停止复制 sql 线程来设置从落后于主指定时间。

pt-sift
#用于浏览 pt-stalk 生成的文件。

pt-show-grants
#将当前实例的用户权限全部输出,可以用于迁移数据库过程中重建用户。

pt-query-digest
#用于分析 mysql 服务器的慢查询日志,并格式化输出以便于查看和分析。

pt-pmp
#为查询程序执行聚合的 GDB 堆栈跟踪,先进性堆栈跟踪,然后将跟踪信息汇总。

pt-index-usage
#从 log 文件中读取查询语句,并用分析当前索引如何被使用。
#完成分析之后会生成一份关于索引没有被查询使用过的报告,可以用于分析报告考虑剔除无用的索引。

pt-heartbeat
#用于监控 mysql 复制架构的延迟。
#主要是通过在主库上的–update 线程持续更新指定表上的一个时间戳,从库上–monitor 线程或者–check 线程检查主库更新的时间戳并与当前系统时间对比,得到延迟值。

pt-fk-error-logger
#将外键相关的错误信息记录到日志或表。

pt-duplicate-key-checker
#功能为从 mysql 表中找出重复的索引和外键,这个工具会将重复的索引和外键都列出来
#同时也可以生成相应的 drop index 的语句

pt-diskstats
#类似于 iostat,打印磁盘 io 统计信息,但是这个工具是交互式并且比 iostat 更详细。可以分析从远程机器收集的数据。

pt-config-diff
#用于比较 mysql 配置文件和服务器变量
#至少 2 个配置源需要指定,可以用于迁移或升级前后配置文件进行对比

pt-align
#格式化输出

pt-slave-find
#连接 mysql 主服务器并查找其所有的从,然后打印出所有从服务器的层级关系。

pt-table-checksum
#用于校验 mysql 复制的一致性。
#该工具主要是高效的查找数据差异,如果存在差异性,可以通过 pt-table-sync 来解决。


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Centos7 下编译安装和使用 Percona-toolkit 工具
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址