说明:
操作系统:CentOS 5.X 64位
MySQL版本:mysql-5.5.35
MySQL配置文件:/etc/my.cnf
MySQL 数据库存放目录:/data/mysql
实现目的:开启MySQL慢查询日志功能,安装使用MySQL慢查询分析mysqlsla
具体操作:
一、开启MySQL慢查询功能
mysql -u root -p #进入MySQL控制台
show variables like ‘%slow%‘; #查看MySQL慢查询是否开启
set global slow_query_log=ON; #开启MySQL慢查询功能
show variables like "long_query_time"; #查看MySQL慢查询时间设置,默认10秒
set global long_query_time=5; #修改为记录5秒内的查询
select sleep(6); #测试MySQL慢查询
show variables like "%slow%"; #查看MySQL慢查询日志路径
show global status like ‘%slow%‘; #查看MySQL慢查询状态
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链
exit; #退出MySQL控制台
cat /data/mysql/127-slow.log #查看MySQL慢查询日志是否被记录
备注:还可以通过修改MySQL配置文件参数,开启MySQL慢查询。
vi /etc/my.cnf #编辑,在[mysqld]段添加以下代码
slow-query-log = on #开启MySQL慢查询功能
slow_query_log_file = /data/mysql/127-slow.log #设置MySQL慢查询日志路径
long_query_time = 5 #修改为记录5秒内的查询,默认不设置此参数为记录10秒内的查询
log-queries-not-using-indexes = on #记录未使用索引的查询
:wq! #保存退出
service mysqld restart #重启MySQL服务
二、安装使用MySQL慢查询分析工具mysqlsla
1、安装mysqlsla
yum install wget perl perl-DBI perl-DBD-MySQL mysql #执行此命令安装依赖包
cd /usr/local/src #进入软件包存放目录
wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz #下载mysqlsla
tar zxvf mysqlsla-2.03.tar.gz #解压
cd mysqlsla-2.03 #进入安装目录
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链
perl Makefile.PL #配置
make #编译
make install #安装
2、使用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
至此,Linux下MySQ