Percona-toolkit的安装和配置

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: pt工具是非常实用有效的一个工具集,对于诊断常规问题还是非常有效的,相比于Oracle的工具,MySQL中没有那么多复杂的数据字典,在实现方式上相对更加轻巧,主要都是针对日志的挖掘。
pt工具是非常实用有效的一个工具集,对于诊断常规问题还是非常有效的,相比于Oracle的工具,MySQL中没有那么多复杂的数据字典,在实现方式上相对更加轻巧,主要都是针对日志的挖掘。在庞大复杂的日志中能够找出一些非常有效的信息,确实难能可贵。
在官网上查看Percona的系列产品,可以看到Percona Toolkit的一个Logo好像是条鹿犬。

如果查看用户手册,可以看到里面有非常多的命令,如果没有分门别类还是没有任何的方向。
在此找到同事之前的分享,工具的分类如下,分别从性能,配置,监控,开发,复制,系统,实用几个角度。
性能
pt-index-usage
pt-pmp
pt-visual-explain

配置
pt-config-diff
pt-variable-advisor
pt-mysql-summary

监控
pt-deadlock-logger
pt-mext
pt-query-digest
pt-trend
pt-fk-error-logger

开发
pt-duplicate-key-checker
pt-online-schema-change
pt-query-advisor
pt-show-grants
pt-upgrade


复制
pt-heartbeat
pt-slave-delay
pt-slave-find
pt-table-checksum
pt-table-sync

系统
pt-diskstats
pt-fifo-split
pt-summary
pt-stalk

实用
pt-archiver
pt-find
pt-kill

当然安装配置是第一步,这个步骤也非常简单,
使用 wget percona.com/get/percona-toolkit.tar.gz来下载,或从官网下载rpm包等都可以。
下载到安装包以后,还需要预备一下perl的部分插件。
可以使用yum来安装。
yum install perl-DBI -y
yum install perl-DBD-MySQL -y
yum install perl-Time-HiRes -y
yum install perl-IO-Socket-SSL -y
安装pt的步骤就是常规的几步。
   perl Makefile.PL
   make
   make test
   make install
在此简单介绍几个命令的使用:
pt-index-usage
可以使用如下的方式来解析慢日志,对于没有使用到的索引会给出相应的建议,当然这个部分需要好好斟酌,给出的建议还是取决了日志的情况,日志内容量越丰富,建议越有说服力。>pt-index-usage  /home/mysql/slow.log
/home/mysql/slow.log:  64% 00:50 remain
/home/mysql/slow.log:  99% 00:00 remain
ALTER TABLE `_gcsrecharge`.`ORDERS` DROP KEY `idx_orders_gcsId`, DROP KEY `idx_orders_transactionId`; -- type:non-unique
ALTER TABLE `usercenter`.`PAY_ORDER_XSOLLA` DROP KEY `ORDER_ID`; -- type:non-unique

pt-config-diff
这个命令可以比较配置文件的差别,比如比较下面的两个文件,所有的差别一目了然。
>pt-config-diff /etc/my.cnf /etc/my.cnfold
5 config differences
Variable                  /etc/my.cnf           /etc/my.cnfold
========================= ===================== ========================
innodb_data_file_path     ibdata1:1G:autoextend ibdata1:1024M:autoextend
innodb_io_capacity        2000                  1000
innodb_max_dirty_pages... 50                    20
innodb_read_io_threads    8                     4
innodb_write_io_threads   8                     4

pt-mysql-summary
这个命令会对mysql的配置和状态信息进行汇总,会分为几个部分来解读。
#pt-mysql-summary
# Percona Toolkit MySQL Summary Report #######################
              System time | 2016-05-01 13:49:14 UTC (local TZ: EDT -0400)
# Instances ##################################################
  Port  Data Directory             Nice OOM Socket
  ===== ========================== ==== === ======
   3306 /home/mysql                0    0   /home/mysql/mysql.sock
# MySQL Executable ###########################################
       Path to executable | /usr/local/mysql/bin/mysqld
              Has symbols | Yes
# Report On Port 3306 ########################################
                     User | root@localhost
                     Time | 2016-05-01 09:49:14 (EST)
                 Hostname | recharge_db
                  Version | 5.6.23-72.1-log Percona Server (GPL), Release 72.1, Revision 0503478
                 Built On | Linux x86_64
                  Started | 2015-12-16 05:40 (up 137+04:08:49)
                Databases | 8
                  Datadir | /home/mysql/
                Processes | 50 connected, 3 running
              Replication | Is not a slave, has 1 slaves connected
                  Pidfile | /home/mysql/mysql.pid (exists)
更多的命令也在不断补充中。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
监控 网络架构
CAN-TP传输协议详解
CAN-TP传输协议详解
CAN-TP传输协议详解
|
关系型数据库 MySQL 数据库
|
4月前
|
XML Linux 区块链
Python提取Word表格数据教程(含.doc/.docx)
本文介绍了使用LibreOffice和python-docx库处理DOC文档表格的方法。首先需安装LibreOffice进行DOC到DOCX的格式转换,然后通过python-docx读取和修改表格数据。文中提供了详细的代码示例,包括格式转换函数、表格读取函数以及修改保存功能。该方法适用于Windows和Linux系统,解决了老旧DOC格式文档的处理难题,为需要处理历史文档的用户提供了实用解决方案。
396 1
|
机器学习/深度学习 缓存 自然语言处理
从头开始构建 Transformer: 注意力机制
从头开始构建 Transformer: 注意力机制
|
JavaScript
uni-app学习笔记-实现一个简单统计图(三)
uni-app学习笔记-实现一个简单统计图(三)
298 0
|
jenkins 持续交付 Docker
docker 升级后或者重装后,启动容器提示:Error response from daemon: Unknown runtime specified docker-runc...
docker 升级后或者重装后,启动容器提示:Error response from daemon: Unknown runtime specified docker-runc...
960 0
docker 升级后或者重装后,启动容器提示:Error response from daemon: Unknown runtime specified docker-runc...
|
Ubuntu Unix C语言
Qt三方库开发技术(一):QuaZIP介绍、编译和使用
Qt三方库开发技术(一):QuaZIP介绍、编译和使用
Qt三方库开发技术(一):QuaZIP介绍、编译和使用
|
算法 数据可视化
关联分析——Apriori算法
关联分析——Apriori算法
845 0
关联分析——Apriori算法
|
XML JSON 负载均衡
使用RestTemplate进行restful调用,你真的会了吗
使用RestTemplate进行restful调用,你真的会了吗
501 0