1. 程式人生 > >MySQL 慢查詢設定

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