首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 慢查詢日誌配置與權限完整指南:從開啟到落地

     編輯:MySQL 資料庫相關知識

慢查詢日誌是 SQL 調優的第一手資料來源。本文詳述 Linux 環境下 my.cnf 配置、檔案權限陷阱與驗證步驟。

核心配置參數

[mysqld]
log-slow-queries=/var/lib/mysql/slow.log   # 日誌路徑(建議置於資料目錄)
long_query_time=2                          # 超過 2 秒記錄
log-queries-not-using-indexes              # 記錄未用索引的查詢

關鍵權限操作(避免寫入失敗)

  1. 以 root 建立日誌檔:touch /var/lib/mysql/slow.log
  2. 設定權限:chmod 644 /var/lib/mysql/slow.log
  3. 修改擁有者為 MySQL 執行帳號(通常為 mysql):
    chown mysql:mysql /var/lib/mysql/slow.log
    # 或分步
    chown mysql /var/lib/mysql/slow.log
    chgrp mysql /var/lib/mysql/slow.log
    

常見坑點與解法

  • 修改 my.cnf 後重啟報 world-writable config file → 執行 chmod 644 /etc/my.cnf
  • 日誌目錄無寫入權限 → 必須確保 MySQL 進程使用者對目錄有 wx 權限
  • SELinux / AppArmor 阻擋 → 檢查安全模組日誌,必要時調整政策或將日誌置於預設資料目錄

驗證生效

# 製造慢查詢
SELECT SLEEP(3);
# 檢查日誌
tail -f /var/lib/mysql/slow.log

日誌會記錄完整 SQL、執行時間、鎖等待、掃描行數等關鍵指標,為後續 pt-query-digest 分析提供素材。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved