转:
必须在MySQL服务器上安装mysqlsla
1、mysqlsla是perl编写的脚本,运行mysqlsla需要perl-DBI和per-DBD-Mysql两模块的支持,因此在运行mysqlsla前需要首先安装DBI模块和相应的数据库DBD驱动,而默认情况下linux不安装这两个模块,需要自行下载安装,
yum -y install wget perl perl-DBI perl-DBD-MySQL (mysql) --执行此命令安装依赖包
2、安装mysqlsla
cd /data #进入软件包存放目录 wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz #下载mysqlsla tar zxvf mysqlsla-2.03.tar.gz --解压cd mysqlsla-2.03 --进入安装目录
perl Makefile.PL --配置make --编译make install --安装
3、使用mysqlsla分析MySQL慢查询日志
#查询记录最多的20个sql语句,并写到select.log中去mysqlsla -lt slow --sort t_sum --top 20 /data/mysql/127-slow.log >/tmp/select.log#统计慢查询文件为/data/mysql/127-slow.log的所有select的慢查询sql,并显示执行时间最长的100条sql,并写到sql_select.log中去mysqlsla -lt slow -sf "+select" -top 100 /data/mysql/127-slow.log >/tmp/sql_select.log#统计慢查询文件为/data/mysql/127-slow.log的数据库为mydata的所有select和update的慢查询sql,并查询次数最多的100条sql,并写到sql_num.sql中去mysqlsla -lt slow -sf "+select,update" -top 100 -sort c_sum -db mydata /data/mysql/127-slow.log >/tmp/sql_num.log