MySQL慢查询mysqlsla
转:http://www.osyunwei.com/archives/7659.html
必须在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