转:http://www.osyunwei.com/archives/7659.htmlhtml
必须在MySQL服务器上安装mysqlslamysql
一、mysqlsla是perl编写的脚本,运行mysqlsla须要perl-DBI和per-DBD-Mysql两模块的支持,所以在运行mysqlsla前须要首先安装DBI模块和相应的数据库DBD驱动,而默认状况下linux不安装这两个模块,须要自行下载安装,linux
yum -y install wget perl perl-DBI perl-DBD-MySQL (mysql) --执行此命令安装依赖包
二、安装mysqlslasql
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 --安装
三、使用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