MySQL 慢查詢設定
說明:
作業系統: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
原文連結:http://www.osyunwei.com/archives/7659.html