mysqlsla的安装和使用

1.简介

  mysqlsla是hackmysql.com推出的一款MySQL的日志分析工具,可以分析mysql的慢查询日志、分析慢查询非常好用,能针对库分析慢查询语句的执行频率、扫描的数据量、消耗时间等。

2.安装

01. 安装依赖软件

  yum install perl-DBI perl-DBD-MySQL perl-devel perl-Time-HiRes -y

02. 下载,解压
  wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz

03. 编译安装
  perl Makefile.PL && make && make install

3.mysqlsla参数说明

01. -log-type (-lt) type logs:
  通过这个参数来制定log的类型,主要有slow, general, binary, msl, udl,分析slow log时通过制定为slow.
02. -sort:
  制定使用什么参数来对分析结果进行排序,默认是按照t_sum来进行排序。
  t_sum:按总时间排序
  c_sum:按总次数排序
  c_sum_p: sql语句执行次数占总执行次数的百分比。
03. -top:
  显示sql的数量,默认是10,表示按规则取排序的前多少条
04. –statement-filter (-sf) [+-][TYPE]:
  过滤sql语句的类型,比如select、update、drop.
  [TYPE]有SELECT, CREATE, DROP, UPDATE, INSERT,例如"+SELECT,INSERT",不出现的默认是-,即不包括。
05. db:要处理哪个库的日志。

4.输出结果说明

01. queries total: 总的查询数量
02. unique: 去重后总数量
03. Sorted by: 排序方式
04. Count: sql的执行次数及占总的slow log数量的百分比
05. Time: 执行时间:包括总时间,平均时间,最小时间,最大时间,时间占到总慢sql时间的百分比
06. Lock Time: 等待锁的时间
07. Rows sent: 输出行数, 包括平均数, 最小数, 最大数
08. Rows examined: 扫描的行数
09. Database: 所查询的数据库
10. Users: 用户,IP地址,占到所有用户执行的sql语句百分比
11. Query abstract: 所使用的sql语句摘要
13、Query sample: 所使用的sql语句

5.使用例句

00. 简单使用

  mysqlsla -lt slow slow.log

01. 慢查询日志中,执行时间最长的10条SQL
  mysqlsla -lt slow -sf "+select" -top 10 slow.log > yoon.log

02. 慢查询日志中slow.log的数据库为sakila的所有select和update的慢查询sql,并查询次数最多的100条sql
  mysqlsla -lt slow -sf "+select,update" -top 100 -sort c_sum -db sakila slow.log > yoon.log

03. 取数据库sakila库中的select语句、按照c_sum_p排序的前2条
  mysqlsla -lt slow -sort c_sum_p -sf "+select" -db sakila -top2 /export/servers/mysql/log/slow.log

04. 慢查询日志中,取出执行时间最长的3条SQL语句
  mysqlsla -lt slow --top 3 slow.log

05. 按照总的执行次数
  mysqlsla -lt slow --top 3 --sort c_sum slow.log

06. 取出create语句的慢查询
  mysqlsla -lt slow -sf "+create"--top 3 --sort c_sum slow.log > yoon.log

原文地址:https://www.cnblogs.com/keluer/p/8081479.html