MySQL数据库是轻量级、开源数据库的佼佼者。其功能和管理,健壮性与Oracle相比还是有相当的差距。因此有非常多功能强大第三方的衍生产品,如percona-toolkit,XtraBackup等等。percona-toolkit是一组高级命令行工具的集合,能够查看当前服务的摘要信息。磁盘检測。分析慢查询日志,查找反复索引,实现表同步等等。

这个工具套件对DBA及运维人员着实不可多得。本文简要描写叙述这个工具的安装及其工具的大致介绍。

1、percona-toolkit的主要功能
  Verify MySQL replication integrity by checking master and replica data consistency
  Efficiently archive rows
  Find duplicate indexes
  Summarize MySQL servers
  Analyze queries from logs and tcpdump
  Collect vital system information when problems occur

2、安装需求及步骤
  下载链接:http://www.percona.com/software/percona-toolkit
  需求
    * Perl v5.8 or newer
    * Bash v3 or newer
    * Core Perl modules like Time::HiRes
    
    # perl --version |head -2 #检查perl版本号
    # bash --version          #检查bash版本号

高速安装步骤(缺省/usr/local/bin路径下。过程略)
    # tar zxvf percona-toolkit-<version>.tar.gz
    # cd percona-toolkit-<version>
    # perl Makefile.PL   (安装到非缺省文件夹 perl Makefile.PL PREFIX=${HOME})
    # make
    # make test
    # make install

3、主要工具介绍
  假设是非源代码安装或源代码安装是未指定路径,缺省情况下全部的pt相关的工具位于/usr/bin文件夹下,以pt-开头。

获取有关命令行的帮助信息。直接在shell提示符下输入命令行与--hlep就可以。如: /usr/bin/pt-upgrade --help
  # ls -hltr /usr/bin/pt-*
  pt-upgrade
    #该命令主要用于对照不同mysql版本号下SQL运行的差异,通经常使用于升级前进行对照。

#会生成SQL文件或单独的SQL语句在每一个server上运行的结果、错误和警告信息等。

pt-online-schema-change
    #功能为支持在线变更表构,且不锁定原表。不堵塞原表的DML操作。
    #该特性与Oracle的dbms_redefinition在线重定义表原理基本相似。
    
  pt-mysql-summary
    #对连接的mysqlserver生成一份具体的配置情况以及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
    #用于监控mysqlserver上死锁并输出到日志文件,日志包括发生死锁的时间、死锁线程id、死锁的事务id、发生死锁时事务运行时间等具体信息。

pt-archiver
    #将mysql数据库中表的记录归档到另外一个表或者文件
    #该工具具仅仅是归档旧的数据,对线上数据的OLTP查询差点儿没有影响。
    #能够将数据插入另外一台server的其它表中,也能够写入到一个文件里,方便使用load data infile命令导入数据。
  
  pt-agent
    #基于Percona Cloud的一个client代理工具
  
  pt-visual-explain
    #用于格式化explain的输出
  
  pt-variable-advisor
    #用于分析mysql系统变量可能存在的一些问题,能够据此评估有关參数的设置正确与否。
  
  pt-stalk
    #用于收集mysql数据库故障时的相关信息便于兴许诊断处理。
    
  pt-slave-delay
    #用于设定从server落后于主server的时间间隔。

#该命令行通过启动和停止复制sql线程来设置从落后于主指定时间。

pt-sift
    #用于浏览pt-stalk生成的文件。
    
  pt-show-grants
    #将当前实例的用户权限全部输出。能够用于迁移数据库过程中重建用户。
    
  pt-query-digest
    #用于分析mysqlserver的慢查询日志,并格式化输出以便于查看和分析。
  
  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配置文件和server变量
    #至少2个配置源须要指定。能够用于迁移或升级前后配置文件进行对照
    
  pt-align
    #格式化输出
    
  pt-slave-find
    #连接mysql主server并查找其全部的从。然后打印出全部从server的层级关系。
    
  pt-table-checksum
    #用于校验mysql复制的一致性。

#该工具主要是高效的查找数据差异,假设存在差异性,能够通过pt-table-sync来解决。

percona-toolkit的安装及简单介绍的更多相关文章

  1. Kali安装zmap简单介绍

    zmap是一个非常方便的扫描器,跟nmap和masscan一样,不过区别在于zmap他快,号称是一小时扫遍整个互联网.主要使用方式是TCP SYN scan.TCP connectscan.UDP s ...

  2. java web(一):tomcat服务器的安装和简单介绍,与eclipse关联

    一:下载tomcat安装包和安装 这个百度一下就可以了. 安装完以后进入tomcat的安装路径查看 如图所示:有几个目录简单介绍下 bin目录:   存放运行tomcat服务器的相关命令. conf目 ...

  3. Postman安装与简单介绍

    Postman简介 Postman是一个 Chrome 扩展,能提供强大的 Web API HTTP 请求调试功能.Postman能够发送任何类型的http请求,支持GET/PUT/POST/DELE ...

  4. postman插件的安装以及简单介绍

    1:postman是干什么的? Postman官网上这么介绍的:“Modern software is built on APIs,Postman helps you develop APIs fas ...

  5. supervisor的安装与简单介绍

    1,介绍 Supervisor是一个进程管理工具,官方的说法 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要 ...

  6. rocksDB 安装问题简单介绍

    前一段时间准备测试rocksdb,按照帖子和官网的例子,在安装过程中遇到一些问题.这里给出的是在Ubuntu下安装python使用的版本. 首先,要感谢这些帖子对我的帮助: 1:http://tech ...

  7. moogodb 安装及简单介绍

    1,安装Moogodb 因为是windows 64位操作系统,直接到官网上下载.msi文件,下载完成后点击安装,点击同意协议之后,出现下面的对话框, Choose Setup Type, 就是选择安装 ...

  8. 性能测试三十八:Java性能分析神器-JProfiler安装和简单介绍

    Jprofiler是一个重量级的工具,需要分别在服务器和windows都装客户端,会损耗性能,用于发现问题后排查问题,而不是常规的监控 JPROFILER工具下载地址:http://www.ej-te ...

  9. MongoDB安装和简单介绍

    前面我们把nodejs的web开发入门说了,如今来说说数据库,一般搭配的数据库是mysql和mongodb,今天我们来说mongodb MongoDB是一个基于分布式文件存储的数据库,由C++语言编写 ...

随机推荐

  1. Linux常用的安全工具

    Linux常用的安全工具 "工欲善其事,必先利其器".作为一个合格的系统管理员,要应对可能发生的安全事件,掌握Linux下各种必须的安全工具是首要大事.本文主要介绍Linux上常用 ...

  2. 【TC SRM 718 DIV 2 A】RelativeHeights

    [Link]: [Description] 给你n个数字组成原数列; 然后,让你生成n个新的数列a 其中第i个数列ai为删掉原数列中第i个数字后剩余的数字组成的数列; 然后问你这n个数列组成的排序数组 ...

  3. 【CS Round #37 (Div. 2 only) B】Group Split

    [Link]:https://csacademy.com/contest/round-37/task/group-split/ [Description] 让你把一个数分成两个数a.b的和; (a,b ...

  4. msp430在ccsv5下出现的问题总结

    一.内存问题 问题描写叙述,报错: program will not fit into available memory.  placement with alignment fails for se ...

  5. elasticsearch index 之 create index(-)

    从本篇开始,就进入了Index的核心代码部分.这里首先分析一下索引的创建过程.elasticsearch中的索引是多个分片的集合,它只是逻辑上的索引,并不具备实际的索引功能,所有对数据的操作最终还是由 ...

  6. Spark Tachyon的命令行使用

    Tachyon命令行使用 Tachyon接口说明 接口操作示例 copyFromLocal copyToLocal ls和lsr count cat mkdir.rm.rmr和touch pin和un ...

  7. Android studio文件名颜色分别表示含义

    这其实是主要和版本控制工具有关,含义如下: 绿色,已经加入控制暂未提交红色,未加入版本控制蓝色,加入,已提交,有改动白色,加入,已提交,无改动 灰色:版本控制已忽略文件

  8. npm更新方法

    今天npm的版本更新发现小于3.0 尝试了npm install npm -g 安装么有成功换成了 cnpm install npm -g安装之后就可以

  9. js实现 导航移入移出效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. django框架初探

    django框架初探 1.web框架介绍 web框架本质是一个socket服务端.每一个端口只能被一个程序监听. web程序分为两个部分: 服务器程序:对socket服务器封装,解析http请求,发送 ...