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

MySQL 日誌檔案完整解析:錯誤日誌、二進制日誌、通用查詢日誌、慢查詢日誌、InnoDB Redo Log 與更新日誌 6 大類型詳解

     編輯:MySQL 資料庫相關知識

MySQL 日誌檔案完整解析


日誌是 MySQL 核心組件,協助定位事件、效能故障、資料變更歷史與災難恢復。共 6 大類:


1. 錯誤日誌

  • 記錄:嚴重警告/錯誤、啟動關閉詳細資訊
  • 預設:關閉,輸出到 stderr
  • 啟動:--log-error[=file_name]
  • 位置:資料目錄,hostname.err
  • 切割:FLUSH LOGS 備份舊檔為 .old,建立新檔

2. 二進制日誌 - 最關鍵日誌

  • 記錄:所有修改資料的 Query (二進制格式),含執行時間、資源消耗、事務資訊
  • 啟動:--log-bin[=file_name] (預設 mysql-bin.*)
  • 附加參數:

mysql-bin.index:記錄所有 binlog 絕對路徑,供線程尋找。


3. 通用查詢日誌

  • 記錄:所有 Query (含 SELECT)
  • 啟動:--log[=file_name] (預設 hostname.log)
  • 缺點:體積大、效能影響大,僅短期除錯使用

4. 慢查詢日誌

  • 記錄:執行時間超過閾值的 Query
  • 啟動:--log-slow-queries[=file_name] (預設 hostname-slow.log)
  • 格式:純文字,含時間、耗時、用戶、主機
  • 分析工具:mysqldumpslow

5. InnoDB Redo Log (線上重做日誌)

  • InnoDB 事務安全核心:Redo Log + Undo Log (表空間)
  • 記錄:所有物理變更與事務資訊
  • 位置:資料目錄,可用 innodb_log_group_home_dir 變更
  • 檔案數:innodb_log_files_in_group

6. 更新日誌

  • 舊版功能,類似 binlog 但純文字格式
  • MySQL 5.0+ 已移除支援

理解各日誌用途與配置,是 DBA 進行效能調優與災難恢復的基石。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
參數功能
max_binlog_size單檔上限,達到自動建新檔 (大事務不拆分)
binlog-do-db=db_name僅記錄指定資料庫 (以當前 USE 的 DB 判斷)
binlog-ignore-db=db_name忽略指定資料庫,記錄其他所有