mysql慢查詢日誌開啟和儲存格式

2022-04-05 16:25:06 字數 2307 閱讀 6989

mysql版本是mysql5.6.22,安裝環境windows7。

1.使用該查詢日誌可以找到有效率問題的sql語句,並記錄下來,進行監控。

可以使用如下語句查詢和設定慢查詢日誌

(1) 檢視慢查詢日誌是否開啟

show variables like '%show_query_log%'; 或是 show variables like '%show_query_log%'\g (mysql命令列中使用)

查詢結果如下

variable_name: slow_query_log

value: off

上邊value表示未開啟

variable_name: slow_query_log_file

value: d:\programfiles\mysql5.6.22\mysql_master\data\lhy-slow.log

上邊value表示日誌存放的路徑

設定開啟狀態:

set global slow_query_log = on;

(2) 檢視未使用索引的查詢日誌是否開啟

show variables like '%log_queries_not_using_indexes%'; 或是 show variables like '%log_queries_not_using_indexes%'\g (mysql命令列中使用)

查詢結果如下

variable_name: log_queries_not_using_indexes

value: off

上邊value表示未開啟

設定開啟狀態:

set global log_queries_not_using_indexes = on;

(3) 檢視超過設定時間的查詢日誌

show variables like '%long_query_time%'; 或是 show variables like '%long_query_time%'\g (mysql命令列中使用)

查詢結果如下:

variable_name: long_query_time

value: 10.000000

上邊value:10s表示記錄執行時間超過10秒的sql

設定執行時間為1s

set global long_query_time = 1;

exit;

注意1:修改執行之間之後要退出重新登入才會起作用.

注意2:設定時間過短導致日誌記錄過多會很快將磁碟空間沾滿,所以應該定期執行磁碟清理,這裡設定為1是為了檢視執行效果,生產環境中需要自己設定.

以上三個步驟執行完成之後,從資料庫中執行任何sql語句就都會被記錄到日誌中,可以到第一步中那個日誌檢視日誌資訊.

以上設定是在控制台處理的,當資料庫重啟之後,該設定即失效;

長期有效的方式是在mysql安裝目錄下找到my.ini檔案,若是沒有該檔案,只有mysql-default.ini檔案

那麼就將該檔案備份,然後改名為mysql.ini,然後在該檔案中[mysqld]下邊新增如下的配置資訊即可。

slow_query_log=on

slow_query_log_file=d:/programfiles/mysql5.6.22/mysql_master/data/lhy-slow.log

log_queries_not_using_indexes=on

long_query_time=1

2.儲存格式

# time: 150401 11:24:27

# user@host: root[root] @ localhost [127.0.0.1] id: 7

# query_time: 0.034002 lock_time: 0.000000 rows_sent: 3 rows_examined: 3

use libu;

set timestamp=1427858667;

select * from aaa;

分析如下:

(1) time: 執行時間

(2) user@host: 執行sql的主機資訊

(3) query_time: sql的執行資訊,lock_time: 鎖定時間, rows_sent: 傳送(結果)行數, rows_examined:掃瞄的行數

(4) timestamp: 執行時間

(5) select * from aaa; : 查詢語句內容

3.慢查詢日誌分析工具

5種工具:mysqldumpslow,mysqlsla,myprofi,mysql-explain-slow-log,mysqllogfilter

mysqldumpslow mysql自帶的分析工具

mysql開啟慢查詢日誌 MySQL慢日誌體系建設

慢查詢日誌是mysql提供的一種日誌記錄,用來記錄在mysql中響應時間超過閾值的sql語句,在很大程度上會影響資料庫整體的效能,是mysql優化的乙個重要方向。在58的雲db平台建設中,慢sql系統作為乙個非常重要功能模組,不僅是dba日常運維使用,我們也希望通過該功能可以協助開發人員更快速定位業...

開啟mysql慢查詢日誌

檢視配置 檢視慢查詢時間 show variables like long query time 預設10s 檢視慢查詢配置情況 show status like slow queries 檢視慢查詢日誌路徑 show variables like slow 修改配置檔案 在 etc my.ini中...

開啟mysql慢查詢日誌

檢視配置 檢視慢查詢時間 show variables like long query time 預設10s 檢視慢查詢配置情況 show status like slow queries 檢視慢查詢日誌路徑 show variables like slow 修改配置檔案 在my.ini中加上下面兩...