<返回更多

分享一款MySQL日志分析神器--mysqlsla,值得收藏

2019-07-11    
加入收藏

概述

今天主要分享一款MySQL日志分析神器--mysqlsla,对于我们分析mysql数据库的三大日志还不错,这里介绍一下。


什么是mysqlsla?

Mysqlsla 是daniel-nichter 用perl 写的一个脚本,专门用于处理分析Mysql的日志而存在。作为一名Mysql DBA,日常工作中处理日志是再正常不过的事情了。

通过Mysql的日志主要分为:General log,slow log,binary log三种。通 过query日志,我们可以分析业务的逻辑,业务特点。通过slow log,我们可以找到服务器的瓶颈。通过binary log,我们可以恢复数据。Mysqlsla 可以处理其中的任意日志,这也是我喜欢它的最主要原因之一。


为什么选择mysqlsla?

一般我们分析mysql日志的工具有:

下面做一个对比

分享一款MySQL日志分析神器--mysqlsla,值得收藏

 

根据以上特点,最适合的工具非 mysqlsla 与 pt-query-digest 莫属。 mysqlsla与pt-query-digest的作者是同一个人。现在主打开发pt系列工具。pt的工具下次再做介绍,今天主要介绍下mysqlsla。


mysqlsla流程

mysqlsla大致流程是: LOGS(UDL,defalut) -> parse -> filter -> sort -> reprot -> replay .

分享一款MySQL日志分析神器--mysqlsla,值得收藏

 

这里说的,Mysqlsla可以处理任意日志。默认可以处理mysql的三种常见日志。

如:General log,binary log,slow log


mysqlsla安装部署

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

git clone https://codeload.github.com/daniel-nichter/hackmysql.com/zip/master
unzip hackmysql.com-master.zip -d mysql-tool
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-Time-HiRes perl-DBI
perl Makefile.PL 
make && make install 
分享一款MySQL日志分析神器--mysqlsla,值得收藏

 


mysqlsla例子

1、开启慢查询

set global slow_query_log=on;
set global long_query_time=10;
set global log_queries_not_using_indexes=on;
分享一款MySQL日志分析神器--mysqlsla,值得收藏

 

2、mysqlsla输出

命令:# mysqlsla -lt slow /data/datafile/ZL-FSL-OCS-DB-slow.log

分享一款MySQL日志分析神器--mysqlsla,值得收藏

 

格式说明如下:
总查询次数 (queries total), 去重后的sql数量 (unique)
输出报表的内容排序(sorted by)
最重大的慢sql统计信息, 包括平均执行时间, 等待锁时间, 结果行的总数, 扫描的行总数.
Count, sql的执行次数及占总的slow log数量的百分比.
Time, 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢sql时间的百分比.
95% of Time, 去除最快和最慢的sql, 覆盖率占95%的sql的执行时间.
Lock Time, 等待锁的时间.
95% of Lock , 95%的慢sql等待锁时间.
Rows sent, 结果行统计数量, 包括平均, 最小, 最大数量.
Rows examined, 扫描的行数量.
Database, 属于哪个数据库
Users, 哪个用户,IP, 占到所有用户执行的sql百分比
Query abstract, 抽象后的sql语句
Query sample, sql语句
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>