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

MySQL 多伺服器資料同步配置參數完整清單:複寫過濾、錯誤跳過、日誌清理、連線重試

     編輯:MySQL 綜合教學

核心配置區塊

伺服器身份

server-id = 1  # 每台唯一

從庫日誌與鏈式複寫

log-slave-updates  # 啟用從庫二進制日誌,支援 A->B->C 鏈式

唯讀保護

read-only = 1  # 1=唯讀(超級用戶除外), 0=讀寫

複寫過濾:庫級

replicate-do-db = dbname           # 只複寫指定庫
replicate-wild-do-db = dbname%     # 通配符匹配庫
replicate-ignore-db = dbname       # 排除庫
replicate-wild-ignore-db = dbname%

複寫過濾:表級

replicate-do-table = tblname
replicate-wild-do-table = tblname%
replicate-ignore-table = tblname
replicate-wild-ignore-table = tblname%

錯誤容忍

slave-skip-errors = all  # 遇錯誤跳過繼續,謹慎使用!生產建議具體錯誤碼

二進制日誌同步持久化

sync_binlog = 1  # 每次提交同步刷盤,最安全,效能稍影響

中繼日誌自動清理

relay-log-purge = 1  # 複寫完成的 SQL 立即從中繼日誌清理

從庫向主庫註冊資訊

report-host = hostname  # 用於 SHOW SLAVE HOSTS 顯示

主庫連線資訊(舊式寫入配置檔,新版建議 CHANGE MASTER TO)

master-host = hostname
master-port = 3306
master-user = dbuser
master-password = password
master-connect-retry = 60

主庫二進制日誌過濾

log-bin = mysql-bin.log
binlog-do-db = dbname
binlog-ignore-db = dbname

版本演進提醒

  • MySQL 5.5+:棄用配置檔寫主庫連線資訊,改用 CHANGE MASTER TO 動態設定,支援不重啟切換主庫。
  • MySQL 5.6+:引入 GTID,配置更簡單(MASTER_AUTO_POSITION=1)。
  • MySQL 8.0+:log-slave-updates 預設開啟,sync_binlog=1 預設開啟。

生產建議

  1. 優先用 CHANGE MASTER TO 管理連線資訊。
  2. 複寫過濾慎用,易導致主從不一致;傾向全量複寫,應用層邏輯隔離。
  3. slave-skip-errors 仅作緊急救援,事後必須數據校驗修復。
  4. 監控 Seconds_Behind_Master、Slave_IO_Running、Slave_SQL_Running。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved