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. MVP模式入门(结合Rxjava,Retrofit)

    本文MVP的sample实现效果: github地址:https://github.com/xurui1995/MvpSample 老规矩,在说对MVP模式的理解之前还是要再谈谈MVC模式,了解了MV ...

  2. Git简介以及与SVN的区别

    Git是由著名Linux内核(Kernel)开发者LinusTorvalds为了便利维护Linux而开发的. Git是一个分布式的版本控制系统.作为一个分布式的版本控制系统,在Git中并不存在主库这样 ...

  3. matlab中plot画图参数的设置

    原文链接:http://blog.sciencenet.cn/blog-281551-573856.html 一.Matlab绘图中用到的直线属性包括: (1)LineStyle:线形 (2)Line ...

  4. Java基础算法

    i++;++i; i--;--i; int a=5;int b=a++;++放在后面,表示先使用a的值,a再加1b=5,a=a+1,a=6 int c=5;int d=++c;++放在前面,表示先将c ...

  5. 摄像头驱动——V4L2框架分析

    一.概述 Video for Linux 2,简称V4l2,是Linux内核中关于视频设备的内核驱动框架,为上层的访问底层的视频设备提供了统一的接口. 摄像头驱动是属于字符设备驱动程序.(分析linu ...

  6. Yeslab 华为安全HCIE-第七门-Agile Controlle

    课程目录:   华为安全HCIE-第七门-Agile Controller(12篇)\1_aglie_controller产品亮点讲解.avi 华为安全HCIE-第七门-Agile Controlle ...

  7. scp---远程拷贝文件

    scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读read onl ...

  8. libc.so.6: version GLIBC_2.14 not found

    https://blog.csdn.net/heylun/article/details/78833050

  9. 及格的产品vs优秀的产品

    类似的产品,做了同样的一个功能,但是,我们还是可以很明显的感受到不同,这种不同我们常常把他叫做「用户体验」. 来看看2组类似产品相似功能的设计: 识别到歌名vs还可以滚动展示歌词 在很早的时候就存在一 ...

  10. 一入python深似海--对象的属性

    Python中一切皆是对象,每一个对象都能够有多个属性.Python是怎样管理这些属性呢?我们来探讨一下. 属性的__dict__系统 对象的属性包括两部分:类属性和对象属性.对象的属性可能来自于其类 ...