說明:
操作系統: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慢查詢狀態

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 #進入軟件包存放目錄
# 下載連接有問題,源代碼地址:https://github.com/daniel-nichter/hackmysql.com/tree/master/mysqlsla
# 最下面常見問題有CSDN的下載連接 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 #安裝
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
三、常見問題
1、Can't locate ExtUtils/MakeMaker.pm
解決:yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
2、csdn mysqlsla下載地址
http://download.csdn.net/detail/huawei2772/9713399
本文轉自:http://www.osyunwei.com/archives/7659.html
