部署mysql工具是一个非常重要的部分,所以工具的可靠性和很好的设计非常重要。percona toolkit是一个有30多个mysql工具的工具箱。兼容mysql,percona server,mariadb;它可以帮助DBA自动化的管理数据库和系统任务。因为他有很多工具,所以从哪里开始是一个难题,因为这个原因,所以我们下面介绍一些可能会常用到的percona toolkit工具集。

安装percona-toolkit

1)软件下载:https://www.percona.com/downloads/percona-toolkit

2)安装该工具依赖的软件包


 

1

$ yum install perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes perl-TermReadKey perl-IO-Socket-SSL -y

3)软件安装


 

1

$ yum localinstall https://www.percona.com/downloads/percona-toolkit/2.2.20/RPM/percona-toolkit-2.2.20-1.noarch.rpm

3)工具集列表

 
1
2
3
4
5
6
7
pt-align                  pt-find                   pt-mext                   pt-slave-delay            pt-table-usage
pt-archiver               pt-fingerprint            pt-mysql-summary          pt-slave-find             pt-upgrade
pt-config-diff            pt-fk-error-logger        pt-online-schema-change   pt-slave-restart          pt-variable-advisor
pt-deadlock-logger        pt-heartbeat              pt-pmp                    pt-stalk                  pt-visual-explain
pt-diskstats              pt-index-usage            pt-query-digest           pt-summary                ptx
pt-duplicate-key-checker  pt-ioprofile              pt-show-grants            pt-table-checksum        
pt-fifo-split             pt-kill                   pt-sift                   pt-table-sync

pt-archive

数据库归档工具,查询源数据,导出数据到文件\表\不做操作,然后删除源数据。小心使用,这个工具在归档数据以后默认会把源数据删除,所以需要手工加上-no-delete,我少有归档需求,而且偶尔用不熟练的话,风险也较大。

pt-duplicate-key-checker

用来检查mysql表是否有重复的索引和外键。这个工具审查show create table的结果,如果发现不同索引包含相同的列,或者一个覆盖索引最左边的类和其他索引一样,它会打印出可疑的索引,默认只会针对同一种类型的索引做比较。它也可以用来查找重复的外键,一个重复的外键必须是在同一个表中和其他外键包含相同的列,而且参考的父表也相同。

pt-mysql-summary

返回MySQL的状态和配置统计信息。

pt-config-diff

比较MySQL配置文件的不同之处。

pt-online-schema-change

在线变更数据库表结构,工具的工作原理是先创建一张和源表相同的空表,然后修改它的表结构。然后从源表拷贝数据过来,当所有数据拷贝过来以后,删除源表,将新表改名为源表。在变更过程中,任何对源表的改变都会通过触发器,应用到新表,所以源表默认不能有触发器。

pt-query-digest

是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析结果找出问题进行优化。

pt-stalk

用来收集mysql的信息,通常数据库如果有一些突发的性能问题,这种问题又不是随时出现的话,就可以用到pt-stalk了,他可以监控数据库,然后设定一个阀值,超过阀值,就记录数据库和系统相关的数据,以便分析。

pt-summary

查看系统的相关统计信息。

pt-diskstats

查看系统磁盘IO相关信息。

pt-table-checksum

通过在master执行checkum检查复制的一致性,如果slave产生不一致的结果,那么证明slave和master数据不一致。使用DSN参数指定master的连接方式,如果任何不一致的数据被发现的话,EXIT STATUS状态都是非0的,或者产生了一些warnings或者错误。

这个工具专注于查找出不同的数据,如果你需要解决数据不同步的问题,可以使用pt-table-sync。

pt-table-sync

同步mysql服务器之间的数据。这个工具会改变数据,为了最大程度的安全,你需要在使用之前备份你的数据,如果同步一个复制的slave服务器使用–replicate或者–sync-to=master方法,通常是通过改变master,而不是直接改变slave,这是通常最安全的方法来完成主从的一致性。改变slave是解决问题的根源,但是通过改变master的数据,不会对master产生影响,实际上只会影响slave。

pt-show-grants

列出MySQL所有用户及权限。

pt-slave-delay

检查从库复制延迟。

Percona Toolkit工具集介绍的更多相关文章

  1. Centos 安装Percona Toolkit工具集

    1.下载 下载地址:   https://www.percona.com/downloads/percona-toolkit/LATEST/ [root@bogon ~]# wget https:// ...

  2. Percona Toolkit工具连接MySQL 8报错的解决方案

    使用Percona Toolkit的工具连接MySQL 8.x数据库时,会遇到类似"failed: Plugin caching_sha2_password could not be loa ...

  3. Percona Toolkit工具使用

    Percona Toolkit简称pt工具-PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在线DDL等 下 ...

  4. Apache Commons 工具集介绍

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于 ...

  5. 如何快捷地修改虚拟机镜像——libguestfs-tools工具集介绍

    前言 在使用云服务器产品时,由于问题修复.功能添加.软件更新等原因,往往需要对已有系统镜像进行二次修改. 这种情况下,最为简单的做法是:使用原镜像创建实例,在实例中进行修改,修改完毕后再转镜像.这种做 ...

  6. git-版本管理工具的介绍+发展史+分布式版本控制系统和集中式版本控制系统的区别

    一.版本管理工具的介绍: 1.备份文件: 2.记录历史: 3.多端共享: 4.团队协作: 二.版本管理工具的发展史: 1.cvs: 集中式   1985: 2.svn:  集中式    2000: 3 ...

  7. DevOps最佳工具集实践

    在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年-2017年),列出几个相对明确又有所 ...

  8. Percona Toolkit mysql辅助利器

    1 PT介绍 Percona Toolkit简称pt工具—PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在 ...

  9. RDS for MySQL 如何使用 Percona Toolkit

    Percona Toolkit 包含多种用于 MySQL 数据库管理的工具. 下面介绍常用的 pt-online-schema-change  和  pt-archiver 搭配 RDS MySQL ...

随机推荐

  1. mysql server has gone away的原因

    之前遇到开发询问“mysql server has gone away”的问题,想当然的就认为是由于太长时间没有操作,导致超过MySQL服务端上的wait_timeout的设置,最终连接被MySQL服 ...

  2. InvalidateRect()与Invalidate()的用法(转)

    BOOL InvalidateRect(   HWND hWnd,           // 窗口句柄   CONST RECT* lpRect,   // 矩形区域   BOOL bErase    ...

  3. ELM327 OBD to RS232 Interpreters

    http://elmelectronics.com/DSheets/ELM327DS.pdf

  4. head first---------facade design pattern

    head first----------外观模式或者门面模式         外观模式又名门面模式:提供了一个统一的接口,用来访问子系统中的一群接口.外观模式定义了一个高层接口,从而让子系统更容易使用 ...

  5. ubuntu上安装systemtap

    http://www.cnblogs.com/hdflzh/archive/2012/07/25/2608910.html

  6. [IIS]由安装IIS和.net framework先后顺序引发的问题,你中招了吗?

    引言 最近帮别人做了一个小网站,在本机部署测试的时候,竟然浏览不了aspx后缀的页面,但可以浏览html页面,由此想到了IIS对静态页和动态页不同的处理方式. http请求到达服务器 当服务器接收到一 ...

  7. 【spring cloud】spring boot2.x下 使用feign,注解@EnableFeignClients 找不到的解决方法

    spring boot2.x下 使用feign,注解@EnableFeignClients 找不到的解决方法 在spring boot1.x下,使用注解@EnableFeignClients,jar包 ...

  8. sqlserver锁大全

    锁定提示                                 描述  HOLDLOCK        将共享锁保留到事务完成,而不是在相应的表.行或数据页不再需要时就立即释放锁.HOLDL ...

  9. 深度学习教程Deep Learning Tutorials

    Deep Learning Tutorials Deep Learning is a new area of Machine Learning research, which has been int ...

  10. python的threading.Thread线程的start、run、join、setDaemon

    Pycharm整体看下Thread类的内容:模拟的是Java的线程模型 表示方法method,上面的锁头表示这个是类内部的方法,从方法名字命名规范可以看出,都是_和__开头的,一个下划线表示是子类可以 ...