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

MySQL Fabric + GTID 打造高可用複製集群(上):環境準備與組建立

     編輯:MySQL 綜合教學

MySQL Fabric + GTID 打造高可用複製集群(上):環境準備與組建立

MySQL Fabric 是 Oracle 官方推出的高可用與分片框架,結合 GTID(全局事務識別符)可實現故障自動轉移、讀寫分離。本文記錄基於 Percona Server 5.6.19 的生產級部署全過程(上篇)。

架構概覽

  • 4 台 MySQL 實例:各跑在獨立物理機,運行 Percona Server 5.6.19-67.0
  • 1 台 Fabric 節點:獨立服務器,管理狀態存儲
  • 高可用組:Fabric 管理 3 台 MySQL,提供 Primary-Backup 異步複製(半同步需手動配置)
  • 應用端:使用 Fabric-aware 連接器(Connector/J、Connector/PHP 等)透明路由讀寫

MySQL 實例配置(關鍵參數)

所有受管實例 [mysqld] 區段必須包含:

log-bin=mysql-bin
binlog_format=ROW
server-id=29          # 每實例唯一
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
sync-master-info=1

說明:binlog_format=ROW 為 GTID 必需;log-slave-updates 確保從庫也寫 binlog,支援級聯複製;sync-master-info=1 減少故障時元數據丟失。

賬號體系設計

角色用戶@Host密碼用途
超級管理員root@'172.17.42.1'admin@123Fabric 狀態存儲、實例管理
Fabric 管理賬號fabric@'172.17.42.1'fabric@456Fabric 連接實例執行管理命令
複製專用賬號fabric@'172.17.0.%'fabric@456主從複製認證,**密碼必須與管理賬號一致**

Fabric 常用命令速查

  • mysqlfabric help:簡短語法
  • mysqlfabric help commands:列出所有命令
  • mysqlfabric help groups:列出群組命令
  • mysqlfabric help [group] [command]:命令詳細幫助

建立高可用組

# 1. 創建組
mysqlfabric group create my_group
# 輸入 XML-RPC 密碼(或配置 disable_authentication=yes 重啟 Fabric)

# 2. 添加實例到組
mysqlfabric group add my_group 172.17.0.50:3306
mysqlfabric group add my_group 172.17.0.47:3306
mysqlfabric group add my_group 172.17.0.48:3306

踩坑提示:命令行參數 --param=servers.user=fabric --param=servers.password=fabric@456 無法覆蓋配置文件密碼,建議直接修改 fabric.cfg 的 servers.user/password 並重啟 Fabric。

檢視組狀態

# 查看伺服器列表(初始均為 SECONDARY)
mysqlfabric group lookup_servers my_group

# 查看健康詳情
mysqlfabric group health my_group

提升 Primary 與驗證複製

GRANT REPLICATION SLAVE ON *.* TO 'fabric'@'172.17.0.%' IDENTIFIED BY 'fabric@456';

所有節點均需執行(含 Primary 自身),授權後 Slave_IO_Running: Yes、Seconds_Behind_Master: 0、Auto_Position: 1,複製正常。

狀態流轉與故障處理

  • FAULTY 狀態不可直接轉 SECONDARY,需先 mysqlfabric server set_status <uuid> spare 再提升。
  • 手動故障轉移:再次執行 group promote,Fabric 會依延遲、binlog 完整性選新 Primary。

本篇小結

完成:實例 GTID 配置、Fabric 狀態存儲、高可用組建立、Primary 提升、複製授權修復。下篇將覆蓋應用端連接器整合、讀寫分離驗證、分片規則配置及故障演練腳本。

服務器拓撲圖
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved