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