MySQL 慢查詢設定

2021-07-31 06:46:04 字數 2630 閱讀 7544

說明:

作業系統: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#進入軟體包存放目錄

tar zxvf mysqlsla-2.03.tar.gz  #解壓

cd  mysqlsla-2.03  #進入安裝目錄

#配置

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

mysql慢查詢設定

show variables like slow query log show variables like long query time show variables like slow query log file show variables like log queries not usi...

mysql慢查詢設定

修改配置檔案 log slow queries alidata mysql log mysql slow.log long query time 1 定義查過多少秒的查詢算是慢查詢,我這裡定義的是2秒 log queries not using indexes 沒有使用索引的query slow q...

動態查詢設定mysql慢查詢

終端登入mysql後,執行show variables like slow 顯示慢查詢狀態 slow query log 為 off表示慢查詢被關閉了 執行 set global slow query log on 來開啟慢查詢 接著要設定慢查詢時間 注意,慢查詢時間不是這邊的slow launch...