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
指定同步方式。参考来源: