溫馨提示×

怎樣實現MariaDB集群部署

小樊
43
2025-09-14 16:40:50
欄目: 云計算

MariaDB集群部署常用方案為Galera Cluster(多主同步復制),以下是基于Ubuntu/centOS的部署步驟及關鍵操作:

一、環境準備

  • 硬件要求:至少3臺服務器(建議奇數節點,如3/5臺),確保節點間網絡互通,開放3306端口。
  • 系統配置:統一操作系統(如Ubuntu 20.04/centOS 7)、MariaDB版本,關閉防火墻或放行3306端口。

二、安裝MariaDB及依賴

在所有節點執行:

# Ubuntu/Debian
sudo apt update && sudo apt install mariadb-server galera-4 rsync -y

# CentOS/RHEL
sudo yum install -y mariadb-server galera socat

三、配置Galera集群

在每個節點的配置文件(/etc/mysql/conf.d/galera.cnf)中添加以下內容(需替換為實際IP和節點名):

[mysqld]
binlog_format=ROW
default-storage-engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_name="my_cluster"  # 集群名稱,所有節點需一致
wsrep_cluster_address="gcomm://node1_ip,node2_ip,node3_ip"  # 所有節點IP列表
wsrep_node_address="當前節點IP"  # 本機IP
wsrep_node_name="node1"  # 節點名稱(需唯一,如node1/node2)
wsrep_sst_method=rsync  # 數據同步方式(可選rsync/xtrabackup)

四、啟動集群

  1. 初始化集群
    第一個節點執行(其他節點跳過此步):

    sudo systemctl stop mariadb
    galera_new_cluster  # 初始化集群
    sudo systemctl start mariadb
    
  2. 加入集群
    其他節點執行:

    sudo systemctl stop mariadb
    sudo systemctl start mariadb  # 自動加入集群
    

五、驗證集群狀態

在任意節點登錄MySQL,執行:

SHOW STATUS LIKE 'wsrep_cluster_size';

若返回值等于節點數量,說明集群部署成功。

六、可選:配置負載均衡與高可用

  • 負載均衡:使用HAProxy或ProxySQL將讀請求分發到各節點,寫請求指向主節點。
  • 故障轉移:結合MHA(Master High Availability)實現主節點故障時自動切換。

注意事項

  • 存儲引擎:僅支持InnoDB/XtraDB,需確保表引擎一致。
  • 網絡延遲:節點間延遲需控制在50ms以內,避免同步延遲。
  • 數據同步:首次加入節點時需確保數據目錄為空,或通過wsrep_sst_method指定同步方式。

參考來源:

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女