MariaDB在Linux上的高可用方案主要包括以下幾類:
Galera Cluster是MariaDB原生支持的多主同步復制解決方案,核心特點是數據強一致性(所有節點數據實時同步)、多主寫入(所有節點均可接受讀寫請求)和自動故障轉移(節點宕機后,剩余節點仍能繼續提供服務)。
典型配置步驟:
mariadb-galera-cluster或galera-3);/etc/mysql/conf.d/galera.cnf),設置wsrep_provider(Galera庫路徑)、wsrep_cluster_address(集群節點IP列表,初始節點用gcomm://啟動集群)、wsrep_node_address(當前節點IP)、wsrep_node_name(節點名稱)及sst_method(狀態快照傳輸方法,如xtrabackup-v2);mariadb,后續節點加入集群即可)。SHOW STATUS LIKE 'wsrep_cluster_size'查看集群節點數量,確保所有節點狀態正常。Replication是MariaDB傳統的高可用方案,通過異步復制實現主節點(Master)與從節點(Slave)的數據同步,適用于讀擴展(將讀請求分發到從節點)和基礎故障恢復(主節點故障時,將從節點提升為新主節點)。
常見拓撲:
log-bin)、設置server-id;從節點配置relay-log、read-only=1,并通過CHANGE MASTER TO命令連接主節點。auto_increment_increment和auto_increment_offset避免主鍵沖突。這類工具通過虛擬IP(VIP)漂移和故障檢測實現高可用,通常與MariaDB Replication配合使用:
keepalived、編輯配置文件(定義VIP、優先級、認證信息)并啟動服務。MHA是專門針對MariaDB/MySQL設計的主節點高可用工具,核心功能是自動故障檢測(通過心跳機制)、主節點故障轉移(從節點提升為新主節點)和數據一致性保障(通過復制線程同步未完成的事務)。
部署步驟:
masterha_default.cnf定義集群節點,app1.cnf指定主從節點信息);