mysql慢查询日志分析工具使用(pt-query-digest)

 更新时间:2023年12月13日 15:12:43   作者:zyjzyjjyzjyz  
这篇文章主要介绍了mysql慢查询日志分析工具使用(pt-query-digest),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

首先说下安装mysql自带的分析工具:mysqldumpslow

 mysqldumpslow -t 3 /var/lib/mysql/localhost-slow.log

因为mysqldumpslow看到的信息有限,只是获取语句的基础信息,并不是很全面。

下面介绍一个功能很强大的分析工具。

pt-query-digest

pt-query-digest需要自行下载安装

安装pt工具前先安装wget命令

yum install wget    
切记联网

安装工具

wget https://www.percona.com/downloads/percona-toolkit/2.2.16/RPM/percona-toolkit-2.2.16-1.noarch.rpm && yum localinstall -y percona-toolkit-2.2.16-1.noarch.rpm

检查是否安装成功

pt-query-digest --help
pt-summary

工具使用简介

1、查看服务器信息

pt-summary

2、查看磁盘开销使用信息

pt-diskstats

 3、查看mysql数据库信息

pt-mysql-summary --user=root --password=root

4、分析慢查询日志

使用工具分析慢日志 

5、查找mysql的从库和同步状态

pt-slave-find --host=localhost --user=root --password=root

6、查看mysql的死锁信息

pt-deadlock-logger --user=root --password=root localhost

7、从慢查询日志分析索引使用情况

pt-index-usage slow.log

8、查询数据库表中重复的索引

pt-duplicate-key-checker --host=localhost --user=root --password=root

如何通过慢日志发现有问题的sql

1、查询次数多且每次查询占用时间长的sql

通常为pt-query-digest分析的前几个查询,该工具可以很清楚的看出每个sql执行的次数及百分比等信息,执行的次数过,占比比较大的sql

2、io大的sql

注意pt-query-digest分析中的Rows examine项,扫描的行数越多,io越大。

3、未命中的索引sql

注意pt-query-digest分析中的Rows examine和Rows Send的对比。差异比较大的话说明该sql的索引命中率不高,对于这种sql,我们要重点关注。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL Server 层四个日志详解

    MySQL Server 层四个日志详解

    这篇文章主要介绍了MySQL Server 层四个日志,包括错误日志,查询日志,二进制日志及慢查询日志,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • SQL 四种连接-左外连接、右外连接、内连接、全连接详解

    SQL 四种连接-左外连接、右外连接、内连接、全连接详解

    这篇文章主要介绍了SQL 四种连接-左外连接、右外连接、内连接、全连接详解的相关资料,需要的朋友可以参考下
    2016-11-11
  • MySQL多版本并发控制MVCC底层原理解析

    MySQL多版本并发控制MVCC底层原理解析

    本文详细讲解了MySQL多版本并发控制MVCC底层原理,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • MySQL 数据类型之字符串、数字、日期详解

    MySQL 数据类型之字符串、数字、日期详解

    MySQL 提供了多种数据类型,每种类型都有其适用场景,合理选择数据类型可以提升存储效率、优化查询性能,并避免精度损失,这篇文章主要介绍了MySQL数据类型详解:字符串、数字、日期,需要的朋友可以参考下
    2025-04-04
  • MySQL中group_concat函数用法小结

    MySQL中group_concat函数用法小结

    MySQL中group_concat函数用于将groupby产生的同一个分组中的值连接成一个字符串,支持去重、排序和自定义分隔符,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • MySQL查看视图的三种方法

    MySQL查看视图的三种方法

    本文主要介绍了MySQL查看视图的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • EF(EntityFramework) 插入或更新数据报错的解决方法

    EF(EntityFramework) 插入或更新数据报错的解决方法

    出现EF(EntityFramework) 插入或更新数据报错的问题怎么解决呢?下面小编就为大家分析一下错误原因及解决方法。一起跟随小编过来看看吧
    2017-12-12
  • mysql常用命令以及小技巧

    mysql常用命令以及小技巧

    这篇文章主要分享的是mysql常用命令以及小技巧,概述清理二进制日志、mysqldump不锁表、mysql跳过空事务等相关资料展开主题,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-02-02
  • MySQL 添加注释(comment)的方法步骤

    MySQL 添加注释(comment)的方法步骤

    本文主要介绍了MySQL添加注释(comment)的方法步骤,字段或列的注释是用属性comment来添加,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • Mysql主从复制注意事项的讲解

    Mysql主从复制注意事项的讲解

    今天小编就为大家分享一篇关于Mysql主从复制注意事项的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02

最新评论