使用mysqlsla 分析 mysql logs

下载:http://hackmysql.com/mysqlsla

tar xzvf mysqlsla-2.03.tar.gz

cd mysqlsla-2.03

perl Makefile.PL

make 

make install

默认将命令mysqlsla安装到/usr/bin目录

第一次通过CPAN安装perl模块时,需要进行相关的配置,大部分配置采用默认值,一路回车即可

#perl -MCPAN -e shell

然后执行下面的命令保存

CPAN>reload index

CPAN>reload cpan

安装DBI模块

CPAN>install DBI

使用:

1、连接mysql需要具有root@localhost权限,赋予相应权限grant all on *.* to root@localhost identified by '123456'

2、开启 MySQL Server 的 General Log 与 Slow Log

/etc/my.cnf:

    [mysqld]

    log=general-log

    log-slow-queries=slow-log

3、以 mysqlsla 分析 Log 档案

mysqlsla 其实是一支 Perl Scripts,使用方式很间单,语法如下:

    A. 分析 General Log

       mysqlsla -lt slow slow.log -R print-unique -mf "db=foo" -sf "+SELECT" 

    然后您就可以大致上了解 Server 都在处理些什么东西。

    B. 分析 Slow Log

    引用:

mysqlsla --user=root --password=xxxxx -ex --socket=/tmp/mysql.sock -lt slow slow.log

mysqlsla --user=root --password=xxxxx -ex --socket=/tmp/mysql.sock -lt general /data/mysql/test.log

    引用:

    --slow: 表示要分析的是 Slow Log

    --ex: 使用 EXPLAIN 分析 Query

    --db 数据库名称:Slow Log 不一定会记录 Query 所属的 Database,这样一来当 Server 要进行 EXPLAIN 时会有问题,因此在这里我们自己指定所使用的 Database。

    slow-log: 这里要填入 slow-log 文件名称,若有多个 Log 档案请使用逗号分隔,例如 log1,log2...。

    所产生的范例报表:(mysqlsla 预设只会列出 Top 10 Query)

原文地址:https://www.cnblogs.com/ylqmf/p/2591348.html