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

MariaDB 啟用二進制日誌完整指南

     編輯:MySQL 綜合教學

MariaDB 二進制日誌啟用與配置詳解

二進制日誌是 MariaDB/MySQL 複製與數據恢復的核心組件。本文詳細說明如何啟用、配置及管理二進制日誌,內容參考自《高可用 MySQL 構建健壯的數據中心》及官方文檔。

啟用二進制日誌的基本語法

使用 --log-bin[=name] 選項啟動服務器即可啟用二進制日誌功能。若檔案名包含後綴(如 --log-bin=master-bin.log),系統會自動忽略 .log 後綴。

預設檔案命名規則

  • 未指定檔名時,預設使用 datadir/log-basename-bin
  • 若無 --log-basename 選項,則使用 datadir/mysql-bin 或 datadir/mariadb-bin(視版本而定)
  • datadir 為數據目錄,由系統變數 datadir 定義(啟動參數 --datadir=path 或 -h path)

強烈建議:明確指定 --log-basename 或二進制日誌檔名,避免主機名變更影響複寫。

二進制日誌檔案管理機制

二進制日誌檔案擴展名為遞增數字序列(如 mariadb-bin.000079、mariadb-bin.000080),數字越大越新。每次服務啟動都會建立新日誌檔,並強制寫入磁碟。亦可透過 max_binlog_size 變數限制單一檔案大小,超過則自動輪轉。

索引檔案與權限控制

索引檔(預設為 .index 後綴)按順序記錄所有二進制日誌檔案。擁有 SUPER 權限的客戶端可透過會話變數 sql_log_bin(預設 1)控制當前會話是否記錄日誌:

SET sql_log_bin = 0;  -- 停止記錄
SET sql_log_bin = 1;  -- 恢復記錄

三種日誌格式

  • Statement-based(預設):記錄 SQL 語句
  • Row-based:記錄行級變更
  • Mixed:混合模式,自動切換

詳細格式差異請參考官方文檔 Binary Log Formats。

相關配置參考

  • 服務器配置選項:mysqld Options (full list)
  • 系統變數:Server System Variables
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved