mysql日志分析工具之mysqlsla
背景介绍:
很多情况下,都需要对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的更多相关文章
- (3.13)mysql基础深入——mysql日志分析工具之mysqlsla【待完善】
(3.13)mysql基础深入——mysql 日志分析工具之mysqlsla 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢查询日志分析工具 ...
- (3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest【待完善】
(3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢 ...
- 5种mysql日志分析工具比拼
5种mysql日志分析工具比拼 摘自: linux.chinaitlab.com 被阅读次数: 79 由 yangyi 于 2009-08-13 22:18:05 提供 mysql slow log ...
- MySQL慢查询日志总结 日志分析工具mysqldumpslow
MySQL慢查询日志总结 - 潇湘隐者 - 博客园 https://www.cnblogs.com/kerrycode/p/5593204.html 2016-06-17 10:32 by 潇湘隐者, ...
- 26、mysqlsla慢查询日志分析工具
1.介绍: mysqlsla是hackmysql.com推出的一款MySQL的日志分析工具,可以分析mysql的慢查询日志.分析慢查询非常好用,能针 对库分析慢查询语句的执行频率.扫描的数据量.消耗时 ...
- Mysql 配置慢查询日志(SlowQueryLog)以及使用日志分析工具
[ 查看系统关于慢查询的设置 ] mysql> show variables like '%slow%'; +---------------------------+-------------- ...
- mysql slow 分析工具
慢查询有什么用? 它能记录下所有执行超过long_query_time时间的SQL语句,帮你找到执行慢的SQL,方便我们对这些SQL进行优化. 测试用 MySQL 版本. Serv ...
- 日志分析工具ELK配置详解
日志分析工具ELK配置详解 一.ELK介绍 1.1 elasticsearch 1.1.1 elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分 ...
- 可视化日志分析工具Gltail的安装与使用
可视化日志分析工具Gltail的安装与使用 GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...
随机推荐
- vs文件上传失败--超过最大字符限制
一.问题 在文件上传时,会遇到大文件上传失败. >F12查看报错网络请求返回结果 >问题分析 由于vs上传文件默认的字符大小控制. 二.解决方法 >在web.config中修改或添加 ...
- 06-Nodejs介绍
06-Nodejs介绍 打开Nodejs英文网:https://nodejs.org/en/ 中文网:http://nodejs.cn/ 我们会发现这样一句话: 翻译成中文如下: Node.js 是一 ...
- 初级c++编码规范
想了很久,第一篇文章还是应该写编码规范好一点.编码规范是一个仁者见仁的问题,为了避免复杂庞大,自己总结了一套简单版本的规范. 简介 本文介绍一份自己使用的C++编码规范.第一次正式进入 ...
- jQuery中toggle与slideToggle以及fadeToggle之间的不同
toggle()方法: 定义和用法 切换元素的可见状态.如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法: $(selector).toggle(speed,callback ...
- 力扣算法题—079单词搜索【DFS】
给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格.同一个单元格内的字母不允许被重复使用. ...
- Java基础——0 前言
- Jenkins插件之显示构建时间
1.进入jenkin插件管理器中,安装 Timestamper 插件 2.安装完成后,进入到构建任务里面,在 构建环境 中勾选 Add timestamps to the Console Outp ...
- 新建swap分区的规划、挂载和自动挂载示例
注:来自Linux系统管理_磁盘分区和格式化的扩展 Linux系统管理_磁盘分区和格式化:http://murongqingqqq.blog.51cto.com/2902694/1361918 思路: ...
- 使用time+dd测试硬盘读写速度
命令:time dd if=/dev/zero bs=1M count=2048 of=direct_2G 此命令为在当前目录下新建一个2G的文件 Demo如下: 写速度: time dd if= ...
- jenkins之Job建立-运行 git 脚本
新建一个自由风格的项目,运行git脚本 1.点击菜单栏中的“新任务” 2.进入该页面后输入一个项目名称,然后选择“构建一个自由风格的软件项目”,滑动到最底端,点击ok(在左下角) 3.进入下图页面后 ...