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 图形技术进行渲染,呈现 ...
随机推荐
- 前端js面向对象编程以及封装组件的思想
demo-richbase 用来演示怎么使用richbase来制作组件的例子 作为一名前端工程师,写组件的能力至关重要.虽然javascript经常被人嘲笑是个小玩具,但是在一代代大牛的前仆后继的努力 ...
- Vue一个案例引发「内容分发slot」的最全总结
今天我们继续来说说 Vue,目前一直在自学 Vue 然后也开始做一个项目实战,我一直认为在实战中去发现问题然后解决问题的学习方式是最好的,所以我在学习一些 Vue 的理论之后,就开始自己利用业余时间做 ...
- 电脑一键U盘启动快捷键
下面是我特意列出的品牌电脑.笔记本电脑.组装电脑一键U盘启动快捷键对应列表,仅供大家查阅参考! [品牌-笔记本电脑] 笔记本品牌 启动按键 联想笔记本 F12 宏基笔记本 F12 华硕笔记本 ...
- ext遍历表单中所有输入项,并全部设置为只读
baseInfoForm.getForm().getFields().each(function (field) { // 设置只读 field.setReadOnly(true); })
- 【公众号系列】SAP HANA和区块链
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]SAP HANA和区块链 写在 ...
- 委托学习总结(一)浅谈对C#委托理解
初入社会,对于我这个初级程序员来说要学的东西实在太多了,公司最近在做一个winform框架开发的桌面应用程序,众所周知,winform也好,webform也好,里面随处可见的事件驱动,有事件,当然也少 ...
- Java 前后端List传值
js代码 function click(){ var arrays = new Array(); for (var i = 0; i < arr.length; i++) { arrays.pu ...
- P1546 最短网络 Agri-Net题解(克鲁斯卡尔)
P1546 最短网络 Agri-Net 那么这个题是一道最小生成树的板子题 在此讲解kruskal克鲁斯卡尔方法: 原理: 并查集在这里被用到: 众所周知:树满足这样一个定理:如果 图 中有n个节点并 ...
- 厚着脸皮求领导写了一篇java小白进阶大牛之路!!!
缘起&应朋友之邀 2019年已经过去两个月了,应朋友之邀,写写自己的个人经历,与其说经历还不如是自我的总结与反思.2012年2月份只身一人拖着行李箱来到北京库巴科技有限公司实习,那时候库巴处在 ...
- MongoDB install
下载地址1:https://www.mongodb.org/dl/linux下载地址2:https://www.mongodb.com/download-center/community关于Mongo ...