背景介绍

很多情况下,都需要对MySQL日志进行各种分析,来了解系统运行的方方面面。MySQL官方自带了一些工具对日志进行分析,比如mysqlbinlog可以用来分析二进制日志,mysqlslow可以用来分析慢查询日志,但这些工具相对功能较为单一,而且对查询日志没有提供分析工具。因此,很多第三方工具应用而生,而mysqlsla(MySQL Statement Log Analyzer)是其中使用较为广泛的一个。

目前常见mysql慢查询分析工具大概归纳为:

工具 / 命令 一般统计信息 高级统计信息 脚本 优势
mysqldumpslow 支持 不支持 perl mysql官方自带
mysqlsla 支持 支持 perl 功能强大,数据报表齐全,定制化能力强
mysql-explain-slow-log 支持 不支持 perl
mysql-log-filter 支持 部分支持 python / php 不失功能的前提下,保持输出简洁
myprofi 支持 不支持 php 非常精简

还有pt-query-digest(需要安装Percona Toolkit)等其他工具,这里只记录一下mysqlsla常见使用方法。

测试环境

centos7 / mysql 5.6(开启慢查询功能)

安装操作

下载:https://github.com/daniel-nichter/hackmysql.com

1. 安装依赖

[root@server-10 ~]# yum install  perl  perl-DBI  perl-DBD-MySQL perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

2. 切换到mysqlsla目录进行编译安装

[root@server- mysqlsla]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for mysqlsla
[root@server- mysqlsla]# make
cp lib/mysqlsla.pm blib/lib/mysqlsla.pm
cp bin/mysqlsla blib/script/mysqlsla
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/mysqlsla
Manifying blib/man3/mysqlsla.3pm
[root@server- mysqlsla]# make install
Installing /usr/local/share/perl5/mysqlsla.pm
Installing /usr/local/share/man/man3/mysqlsla.3pm
Installing /usr/local/bin/mysqlsla             //生成了mysqlsla命令
Appending installation info to /usr/lib64/perl5/perllocal.pod

3. 使用mysqlsla命令

[root@server- ~]# mysqlsla -lt slow --sort t_sum --top  mysql-slow.log > /tmp/select.log

// 查询记录最多的20个sql语句,并写到select.log中去。
[root@server- ~]# mysqlsla -lt slow  -sf "+select" -top   mysql-slow.log >/tmp/sql_select.log

// 统计慢查询文件为mysql-slow.log中的所有select的慢查询sql,并显示执行时间最长的100条sql,并写到sql_select.log中去
root@server- ~]# mysqlsla -lt slow  -sf "+select,update" -top  -sort c_sum  -db mydata mysql-slow.log >/tmp/sql_num.log

// 统计慢查询文件为mysql-slow.log的数据库为mydata的所有select和update的慢查询sql,并查询次数最多的100条sql,并写到sql_num.sql中去

参数说明

"--log-type (-lt) TYPE LOGS"  // 指定日志类型
Parse MySQL LOGS of TYPE. Default none. TYPE must be either slow, general, binary, msl or udl. LOGS is a space-separated list of MySQL log files.


 "--statement-filter (-sf) CONDTIONS"  // 语句过滤,“+”和“-”分别表示“仅显示”和“仅去掉”

Set SQL statement filter using CONDITIONS. Default none. CONDITIONS is a comma-separated list of SQL statement types in the form:
[+-][TYPE],[TYPE],etc.


 "--top N"  // 最top的N条,默认显示top 10

After sorting display only the top N queries. Default 10.


 "--sort META"  // 按指定排序,默认慢查询和微秒查询会按照总执行时间“t_sum”来排序,其他日志默认按照“c_sum”

Sort queries according to META. Default t_sum for slow and msl logs, c_sum for all others. META is any meta-property name.


"--databases (-db) (-D) DATABASES"   // 指定数据库

Try EXPLAINing queries which have no known database using DATABASES. Default none. DATABASES is a comma-separated list of database names (without
spaces). Only used when option explain is used too.


其他参数可通过man mysqlsla查询。

结束.

其他参考:

https://www.jb51.net/article/27191.htm

https://yq.aliyun.com/articles/59260

mysql日志分析工具之mysqlsla的更多相关文章

  1. (3.13)mysql基础深入——mysql日志分析工具之mysqlsla【待完善】

    (3.13)mysql基础深入——mysql 日志分析工具之mysqlsla 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢查询日志分析工具 ...

  2. (3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest【待完善】

    (3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢 ...

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

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

  4. MySQL慢查询日志总结 日志分析工具mysqldumpslow

    MySQL慢查询日志总结 - 潇湘隐者 - 博客园 https://www.cnblogs.com/kerrycode/p/5593204.html 2016-06-17 10:32 by 潇湘隐者, ...

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

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

  6. Mysql 配置慢查询日志(SlowQueryLog)以及使用日志分析工具

    [ 查看系统关于慢查询的设置 ] mysql> show variables like '%slow%'; +---------------------------+-------------- ...

  7. mysql slow 分析工具

    慢查询有什么用?         它能记录下所有执行超过long_query_time时间的SQL语句,帮你找到执行慢的SQL,方便我们对这些SQL进行优化. 测试用 MySQL 版本.   Serv ...

  8. 日志分析工具ELK配置详解

    日志分析工具ELK配置详解 一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分 ...

  9. 可视化日志分析工具Gltail的安装与使用

    可视化日志分析工具Gltail的安装与使用      GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...

随机推荐

  1. 基于LBS的六边形热力图算法

    六边形算法: 我把六边形铺满的分布图进行了切分,切分为矩形,每个矩形中有一个六边形.4个三角形.两个小长方形,依次计算.边界判断上,采用主流的MP>MN的方式(M为上边界对称点,N为与六边形的交 ...

  2. iOS----------网络请求错误

    Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptabl ...

  3. 牛客网:Java重命名文件

    项目介绍 不管是C/C++还是JAVA,都可能生成一些持久性数据,我们可以将数据存储在文件或数据库中,此项目主要训练学习Java对本地磁盘的文件重命名,例如C:\nowcoder.txt重命名C:\n ...

  4. 对象的使用处理,作用域的和ajax中this的理解

    首先,封装类,理解清楚你需要用的哪几个变量,然后声明,然后在类里封装函数,其中,constructor就是存放初始变量的地方. 这里还是datatable的处理解决, constructor(tabl ...

  5. 【原】Java学习笔记005 - 流程控制

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 程序的流程控制(流 ...

  6. 6.1Python数据处理篇之pandas学习系列(一)认识pandas

    目录 目录 (一)介绍与测试 2.作用: 3.导入的格式 4.小测试 (二)数据类型 1.两种重要的数据类型 2.pandas与numpy的比较 目录 (一)介绍与测试 号称处理数据与分析数据最好的第 ...

  7. MySql 学习之路-高级1

    Mysql自学之路-高级1 目录: 1.CREATE DATABASE 创建数据库 2.CREATE TABLE 创建数据表 3.INSERT INTO SELECT 把一个表中的数据拷贝到另一个表中 ...

  8. eclipse中跳转到其它函数方法后如何快速返回原处

    快捷键 ctrl + 鼠标左键:跳转到引用的方法 alt + left :从所跳转到引用的方法返回原方法 alt + right:从原处返回到引用的方法

  9. 理解IO、NIO、 AIO

    转载:https://baijiahao.baidu.com/s?id=1586112410163034993&wfr=spider&for=pc nio 同步: 自己亲自出马持银行卡 ...

  10. WEB框架-Django框架学习-预备知识

    今日份整理,终于开始整个阶段学习的后期了,今日开始学习Django的框架,加油,你是最胖的! 1.web基础知识 1.1 web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是 ...