简介

       pt-query-digest 是用于分析mysql慢查询的一个工具,与mysqldumpshow工具相比,py-query_digest 工具的分析结果更具体,更完善。

有时因为某些原因如权限不足等,无法在服务器上记录查询。这样的限制我们也常常碰到,所以开发了两种替代的技术,都集成到了Percona Toolkit 中的 pt-query-digest 中。

第一种是通过 --processlist 选项不断查看 SHOW FULL PROCESSLISTR 的输出,记录查询第一次出现的时间和消失的时间。某些情况下这样的精度也足够发现问题,但却无法捕获所有查询。一些执行较快的查询可能在两次执行的间隙就执行完成了,从而无法捕获到。

第二种是通过抓取TCP网络包,然后根据MYSQL的客户端/服务端通信协议进行解析。可以先通过 tcpdump 将网络包数据保存到磁盘,然后使用 pt-query-digest 的 --type=tcpdump 选项来解析并分析查询。此方法的精度比较高,并且可以捕获所有的查询。还可以解析更高级的协议特性,比如可以解析二进制协议,从而创建并执行服务器端预解析的语句(prepared statement)及压缩协议。另外还有一种方法,就是通过MYSQL Proxy 代理层的脚本来记录所有查询,但在实践中我们很少这样做。

在windows中安装

在我的 mysql/bin 文件夹里并没有  pt-query-digest.pl 文件,并且要想在windows中支持perl文件,得先安装 perl 支持,安装方法可查看 慢查询日志分析工具之mysqldumpslow接下来在 mysql/bin 文件夹下打开 git bash窗口,输入命令:

curl -o pt-query-digest.pl https://www.percona.com/get/pt-query-digest

进度为100%表示下载完成,可以使用命令验证: perl pt-query-digest.pl --help

使用方法

具体使用方法请查看 http://www.php.cn/mysql-tutorials-357655.html

慢查询日志分析工具之pt-query-digest的更多相关文章

  1. 26、mysqlsla慢查询日志分析工具

    1.介绍: mysqlsla是hackmysql.com推出的一款MySQL的日志分析工具,可以分析mysql的慢查询日志.分析慢查询非常好用,能针 对库分析慢查询语句的执行频率.扫描的数据量.消耗时 ...

  2. mysql慢查询日志分析工具 mysqlsla(转)

    mysql数据库的慢查询日志是非常重要的一项调优辅助日志,但是mysql默认记录的日志格式阅读时不够友好,这是由mysql日志记录规则所决定的,捕获一条就记录一条,虽说记录的信息足够详尽,但如果将浏览 ...

  3. mysql慢查询日志分析工具(python写的)

    D:\NormalSoftware>python mysql_filter_slow_log.py ./mysql1-slow.log --no-duplicates --sort-avg-qu ...

  4. pt-query-digest查询日志分析工具

    1.工具介绍 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcp ...

  5. mysql慢查询日志分析工具mysqldumpslow

    一.mysqldumpslow为mysql自带,安装后既带有该工具. 二.mysqldumpslow经常使用的参数 -s,是order的顺序 al 平均锁定时间 ar 平均返回记录时间 at 平均查询 ...

  6. MySQL 慢查询日志分析工具(pt-query-digest)

    1. 慢查询命令: 是否开启和日志路径:show variables like '%slow_query_log%'; 最大查询时间:show variables like '%query_time% ...

  7. 慢查询日志分析工具之mysqldumpslow

    使用方法: 在 windows 下可以在mysql/bin目录下可以找到 mysqldumpslow.pl 文件,是一个 perl 格式的文件,如下图: 这种格式的文件在windows下是不能直接执行 ...

  8. MySQL 通用查询日志和慢查询日志分析

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句.2)慢查询 ...

  9. 5种mysql日志分析工具比拼

    5种mysql日志分析工具比拼 摘自: linux.chinaitlab.com  被阅读次数: 79 由 yangyi 于 2009-08-13 22:18:05 提供 mysql slow log ...

随机推荐

  1. 《跟老齐学Python Django实战》读后感

    1.说一下这本书,讲解的很细致,内容选取足够入门Django. 2.在学习这本书要注意的几点: <1>如果你想跟着敲这本书的代码必须要安装:Django版本1.10.1(当然也可以玩玩新版 ...

  2. yolo回归型的物体检测

    本弱又搬了另外一个博客的讲解: 缩进YOLO全称You Only Look Once: Unified, Real-Time Object Detection,是在CVPR2016提出的一种目标检测算 ...

  3. 阻止MyEclipse启动项目时自动跳转的debug视图

    启动web项目时,习惯使用debug方式启动,但此时会自动跳转到debug视图,很不习惯. 通过修改首选项配置,可以禁止跳转

  4. <转>MYSQL数据库数据拆分之分库分表总结

    数据存储演进思路一:单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 数据存储演进思路二:单库多表 随着用户数量的 ...

  5. python 多线程, 多进程, 协程

    1. 介绍: threading用于提供线程相关的操作,线程是应用程序中工作的最小单元.python当前版本的多线程库没有实现优先级.线程组,线程也不能被停止.暂停.恢复.中断. 2. 1  线程执行 ...

  6. Django的自带认证系统——auth模块

    Django自带的用户认证 auth模块 from django.contrib import auth 备注:使用auth模块时,我们默认使用Django提供的auth_user表,创建数据时,可以 ...

  7. jmeter------reponse报错”Unknown column 'XXXXX' in 'where clause'“

    一.问题描述 jmeter添加了与数据库mysql的连接,编写完JDBC Request之后,运行提示报错”Unknown column 'be7f5b6e750bb6becf855386338644 ...

  8. 使用qt+visa实现程控

    曾经在如何使用VS2010调用visa进行程控中使用vs2010+visa 实现了程控最简单的Demo,现实现Qt实现visa的Demo ===== 本人诚接各种程控开发项目 ===== 软件环境 系 ...

  9. Web前端开发最佳实践(1):前端开发概述

    引言 我从07年开始进入博客园,从最开始阅读别人的文章到自己开始尝试表达一些自己对技术的看法.可以说,博客园是我参与技术讨论的一个主要的平台.在这其间,随着接触技术的广度和深度的增加,也写了一些得到了 ...

  10. 十三oracle --控制结构(分支,循环,控制)

    .使用各种if语句2.使用循环语句3.使用控制语句——goto和null(goto语句不推荐使用): 二.条件分支语句pl/sql中提供了三种条件分支语句if—then,if–then–else,if ...