分享一款MySQL日志分析神器--mysqlsla,值得收藏
今天主要分享一款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日志的工具有:
mysqldumpslow mysqlbinlog myprofi mysql-explain-slow-log mysql-log-filter pt-query-digest mysqlsla下面做一个对比
根据以上特点,最适合的工具非 mysqlsla 与 pt-query-digest 莫属。 mysqlsla与pt-query-digest的作者是同一个人。现在主打开发pt系列工具。pt的工具下次再做介绍,今天主要介绍下mysqlsla。
mysqlsla流程mysqlsla大致流程是: LOGS(UDL,defalut) -> parse -> filter -> sort -> reprot -> replay .
这里说的,Mysqlsla可以处理任意日志。默认可以处理mysql的三种常见日志。
如:General log,binary log,slow log
Slow log: mysqlsla lt slow slow.log General log: mysqlsla lt general general.log Binary log: mysqlbinlog bin.log | mysqlsla lt binary 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 install1、开启慢查询
set global slow_query_log=on; set global long_query_time=10; set global log_queries_not_using_indexes=on;2、mysqlsla输出
命令:# mysqlsla -lt slow /data/datafile/ZL-FSL-OCS-DB-slow.log