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 图形技术进行渲染,呈现 ...
随机推荐
- Linux下创建桌面快捷方式
建立一个文本文件,文件名必须以.desktop结尾,.desktop前面的作为快捷方式的名称 添加如下内容 [Desktop Entry]Encoding=UTF-8Name=PostmanExec= ...
- selenium-历史(一)
简介 Selenium是ThoughtWorks公司研发的一个强大的基于浏览器的开源自动化测试工具,它通常用来编写web应用的自动化测试.早期也即Selenium1.x时期主要使用Selenium R ...
- c/c++ 继承与多态 静态调用与动态调用
静态调用,与动态调用. 动态调用条件:必须用父类的引用或者指针,并且调用的必须是虚方法. #include <iostream> class Base{ public: virtual i ...
- c/c++ 多线程 层级锁
多线程 层级锁 当要同时操作2个对象时,就需要同时锁定这2个对象,而不是先锁定一个,然后再锁定另一个.同时锁定多个对象的方法:std::lock(对象1.锁,对象2.锁...) 但是,有的时候,并不能 ...
- 自动化测试之路3-selenium3+python3环境搭建
1.首先安装火狐浏览器 有单独文章分享怎么安装 2.搭建python环境 安装python,安装的时候把path选好,就不用自己在配置,安装方法有单独文档分享 安装好以后cmd打开输入python查 ...
- 消息 4900,级别 16,状态 2,第 1 行 对表 'XX.XXX' 执行 ALTER TABLE SWITCH 语句失败。对于已启用更改跟踪的表,不可能切换其分区。请先禁用更改跟踪,再使用 ALTER TABLE SWITCH。
问题描述: 今天处理切换分区数据的时候出现了这个错误: 消息 4900,级别 16,状态 2,第 1 行 对表 'XX.XXX' 执行 ALTER TABLE SWITCH 语句失败.对于已启用更改跟 ...
- 我的ElasticSearch之ElasticSearch安装配置环境
最近一段时间比较忙,都很少来园子逛了,刚好,用到了ElasticSearch,感觉还不错,所以就给大家推荐一下,自己也顺便学习:虽然公司选择用ElasticSearch,但是以前都没有用过这个,而且公 ...
- c# 判断一个string[]是否全包含另一个string[]
// list = normalList.Except(repairList).ToList(); //差集 // list = normalList.Union(repairList).ToList ...
- threejs学习笔记(一)
得到webgl的渲染管线
- 【Topcoder 1643】PossibleOrders
题意:给一些等价关系,问把所有的数按照大小排序的种类数. 思路:首先并查集维护等价类,然后设有\(n\)个等价类. 那么就可以\(dp\)了. 考虑\(dp(i)\)表示还剩下\(i\)个等价类,答案 ...