zoukankan      html  css  js  c++  java
  • percona-toolkit工具包的安装和初步使用

    percona-toolkit工具包的安装和初步使用

    原文地址:http://blog.csdn.net/yumushui/article/details/42919601
    一、percona-toolkit工具简介

        percona-toolkit简称“PT工具”,是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括:

    检查master和slave数据的一致性

    有效地对记录进行归档

    查找重复的索引

    对服务器信息进行汇总

    分析来自日志和tcpdump的查询

    当系统出问题的时候收集重要的系统信息

        percona-toolkit源自Maatkit 和Aspersa工具,这两个工具是管理mysql的最有名的工具,现在Maatkit工具已经不维护了,请大家还是使用percona-toolkit吧!这些工具主要包括开发、性能、配置、监控、复制、系统、实用六大类,作为一个优秀的DBA,里面有的工具非常有用,如果能掌握并加以灵活应用,将能极大的提高工作效率。

    二、percona-toolkit安装步骤与过程

        我的环境是CentOS 6.5系统+ MySQL 5.5.35,可以按照下面的步骤安装pt工具。

        1.检查和安装与Perl相关的模块

        PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。

        依赖包检查命令为:

    rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL

        如果有依赖包确实,可以使用下面的命令安装:

    yum install perl-DBI

    yum install perl-DBD-MySQL

    yum install perl-Time-HiRes

    yum install perl-IO-Socket-SSL

        2.percona-toolkit工具的下载和安装

    pt工具目前最新版本为 2.2.12 ,可以通过下面的连接下载:

    http://download.csdn.net/detail/yumushui/8379565

    也可以可以在官方下载最新版本:

    wget percona.com/get/percona-toolkit.tar.gz

    wget percona.com/get/percona-toolkit.rpm


        A. percona-toolkitrpm安装方式

    rpm -ivh perl-TermReadKey-2.30-1.el5.rf.x86_64.rpm

    rpm -ivh percona-toolkit-2.1.1-1.noarch.rpm

    注意:需要安装Term::ReadKey 包,否则会报perl(Term::ReadKey) >= 2.10 is needed by percona-toolkit-2.1.1-1.noarch错误

        B. percona-toolkit的编译安装方式(可用)

    tar xzvf percona-toolkit-2.1.1.tar.gz

    cd percona-toolkit-2.1.1

    perl Makefile.PL

    make

    make test

    make install


    安装后,可以通过下面的命令确认是否安装成功:

    # pt-query-digest --help

    # pt-table-checksum --help

    如果命令提示可以正常显示,则说明pt工具已经正常安装和使用了

    三、percona-toolkit命令的整体分类和作用概述

    在最新的 pt 2.2.12 版本安装完毕后,一共有如下命令:

    # pwd 
    /usr/local/percona-toolkit-2.2.12/bin 

    # ll 
    total 5352 
    -rwxrwxr-x 1 1000 1000 40852 Nov 11 21:36 pt-align 
    -rwxrwxr-x 1 1000 1000 247292 Nov 11 21:36 pt-archiver 
    -rwxrwxr-x 1 1000 1000 166888 Nov 11 21:36 pt-config-diff 
    -rwxrwxr-x 1 1000 1000 164033 Nov 11 21:36 pt-deadlock-logger 
    -rwxrwxr-x 1 1000 1000 163722 Nov 11 21:36 pt-diskstats 
    -rwxrwxr-x 1 1000 1000 166921 Nov 11 21:36 pt-duplicate-key-checker 
    -rwxrwxr-x 1 1000 1000 49262 Nov 11 21:36 pt-fifo-split 
    -rwxrwxr-x 1 1000 1000 148347 Nov 11 21:36 pt-find 
    -rwxrwxr-x 1 1000 1000 66409 Nov 11 21:36 pt-fingerprint 
    -rwxrwxr-x 1 1000 1000 131003 Nov 11 21:36 pt-fk-error-logger 
    -rwxrwxr-x 1 1000 1000 190538 Nov 11 21:36 pt-heartbeat 
    -rwxrwxr-x 1 1000 1000 224641 Nov 11 21:36 pt-index-usage 
    -rwxrwxr-x 1 1000 1000 32276 Nov 11 21:36 pt-ioprofile 
    -rwxrwxr-x 1 1000 1000 245236 Nov 11 21:36 pt-kill 
    -rwxrwxr-x 1 1000 1000 21684 Nov 11 21:36 pt-mext 
    -rwxrwxr-x 1 1000 1000 100494 Nov 11 21:36 pt-mysql-summary 
    -rwxrwxr-x 1 1000 1000 368714 Nov 11 21:36 pt-online-schema-change 
    -rwxrwxr-x 1 1000 1000 24525 Nov 11 21:36 pt-pmp 
    -rwxrwxr-x 1 1000 1000 516529 Nov 11 21:36 pt-query-digest 
    -rwxrwxr-x 1 1000 1000 72384 Nov 11 21:36 pt-show-grants 
    -rwxrwxr-x 1 1000 1000 37651 Nov 11 21:36 pt-sift 
    -rwxrwxr-x 1 1000 1000 144190 Nov 11 21:36 pt-slave-delay 
    -rwxrwxr-x 1 1000 1000 125951 Nov 11 21:36 pt-slave-find 
    -rwxrwxr-x 1 1000 1000 178193 Nov 11 21:36 pt-slave-restart 
    -rwxrwxr-x 1 1000 1000 69227 Nov 11 21:36 pt-stalk 
    -rwxrwxr-x 1 1000 1000 89799 Nov 11 21:36 pt-summary 
    -rwxrwxr-x 1 1000 1000 409966 Nov 11 21:36 pt-table-checksum 
    -rwxrwxr-x 1 1000 1000 394568 Nov 11 21:36 pt-table-sync 
    -rwxrwxr-x 1 1000 1000 222447 Nov 11 21:36 pt-table-usage 
    -rwxrwxr-x 1 1000 1000 328098 Nov 11 21:36 pt-upgrade 
    -rwxrwxr-x 1 1000 1000 175665 Nov 11 21:36 pt-variable-advisor 
    -rwxrwxr-x 1 1000 1000 101492 Nov 11 21:36 pt-visual-explain 

    # ls | wc 
    32 32 455

    现有的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-ioprofile使用
    ./pt-ioprofile -p 2003 -c sizes -g filename
    ./pt-ioprofile -p 2003 -c times -g filename
    ./pt-ioprofile -p 2003 -c count -g filename
    #2003为mysql进程id

    上面是pt工具各个命令的基本功能介绍,可以使用 command --help 来查看每个命令的具体作用和使用方法;

    有的命令也可以使用 man command 命令查询相关命令详细信息。

    目前使用的比较多的命令是: pt-query-digest ,pt-kill等命令

  • 相关阅读:
    指针
    初级程序员面试不靠谱指南(七)
    初级程序员面试不靠谱指南(六)
    Hadoop 中利用 mapreduce 读写 mysql 数据
    Mapreduce的文件和hbase共同输入
    mapreduce多文件输出的两方法
    mapreduce中一个map多个输入路径
    GDB介绍
    超强的指针学习笔记
    iOS开发之Appstore篇——版本更新
  • 原文地址:https://www.cnblogs.com/hanxiaohui/p/8513764.html
Copyright © 2011-2022 走看看