MariaDB集群部署常用方案為Galera Cluster(多主同步復制),以下是基于Ubuntu/centOS的部署步驟及關鍵操作:
在所有節點執行:
# Ubuntu/Debian
sudo apt update && sudo apt install mariadb-server galera-4 rsync -y
# CentOS/RHEL
sudo yum install -y mariadb-server galera socat
在每個節點的配置文件(/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)
初始化集群:
在第一個節點執行(其他節點跳過此步):
sudo systemctl stop mariadb
galera_new_cluster # 初始化集群
sudo systemctl start mariadb
加入集群:
在其他節點執行:
sudo systemctl stop mariadb
sudo systemctl start mariadb # 自動加入集群
在任意節點登錄MySQL,執行:
SHOW STATUS LIKE 'wsrep_cluster_size';
若返回值等于節點數量,說明集群部署成功。
wsrep_sst_method
指定同步方式。參考來源: