首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 慢查詢日誌啟用與微秒級監控完整教學

     編輯:MySQL 綜合教學

前言

慢查詢日誌是 SQL 調優的「體檢報告」。本文詳細說明啟用慢查詢、設定閾值、分析日誌、微秒級補丁方案,以及主從架構下的低影響監控策略。

核心參數與狀態

參數/狀態命令說明
log_slow_queries / slow_query_logSHOW VARIABLES LIKE '%slow%';是否啟用慢查詢日誌(5.1+ 用 slow_query_log)
long_query_timeSHOW VARIABLES LIKE 'long_query_time';慢查詢閾值(秒),預設 10 秒,建議 1-5 秒
Slow_queriesSHOW GLOBAL STATUS LIKE 'Slow_queries';累計慢查詢次數

啟用與配置步驟

動態啟用(立即生效,重啟失效)

SET GLOBAL slow_query_log = ON;
SET GLOBAL long_query_time = 2;  -- 2 秒

永久配置(my.cnf / my.ini)

[mysqld]
slow_query_log = ON
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
log_queries_not_using_indexes = ON  -- 記錄未用索引的查詢

權限注意: 日誌目錄需 MySQL 執行帳號可寫入權限。

微秒級慢查詢監控

  • 原生 long_query_time 最小 1 秒(MySQL 5.1+ 支援浮點數,如 0.001 為 1 毫秒)。
  • 若需真正微秒級,需打補丁(Percona Server、MariaDB 內建支援),務必對應版本。

主從架構低影響監控策略

在從庫啟用慢查詢日誌:

  • 主庫零性能損耗。
  • 從庫承擔日誌寫入開銷,通常可接受。
  • 同步延遲極低時,從庫慢查詢具代表性。

日誌分析工具

  • mysqldumpslow:官方內建,統計頻率、耗時、掃描行數。
  • pt-query-digest (Percona Toolkit):專業分析,支援聚合、排序、報表輸出。

相關延伸閱讀

  • MySQL CONVERT 函數簡介
  • Linux 下修改 MySQL 字符集的方法
  • 帶您了解 MySQL 變數
  • 帶您深入了解 MySQL 使用者權限
  • MySQL 使用者權限設定方法
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved