温馨提示×

Linux MariaDB集群部署方法

小樊
56
2025-08-07 09:55:56
栏目: 云计算

Linux下部署MariaDB集群常用Galera Cluster(多主同步)方案,以下是核心步骤(以3节点为例):

一、环境准备

  • 系统要求:Ubuntu 16.04+/CentOS 7+,建议3台服务器(奇数节点避免脑裂)。
  • 网络配置:节点间互通,开放**3306(SQL)、4567(Galera通信)、4568(状态同步)、4444(SST传输)**端口。

二、安装MariaDB

在所有节点执行:

sudo apt update && sudo apt install mariadb-server galera-4 # Ubuntu  # 或  sudo yum install mariadb-server galera -y # CentOS  

三、配置集群参数

编辑配置文件(如/etc/mysql/conf.d/galera.cnf),关键参数如下:

[mysqld] 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" wsrep_node_name="node1" # 节点唯一名称  wsrep_sst_method=rsync/xtrabackup-v2 # 同步方式(推荐xtrabackup-v2)  wsrep_sst_auth="sst_user:sst_password" # 同步用户(需提前创建)  binlog_format=ROW default_storage_engine=InnoDB 

注:wsrep_sst_methodxtrabackup-v2需先安装Percona XtraBackup。

四、初始化集群

  1. 在第一个节点(主节点)执行
    sudo systemctl stop mariadb sudo galera_new_cluster # 初始化集群  sudo systemctl start mariadb 
  2. 在其他节点执行
    sudo systemctl stop mariadb sudo systemctl start mariadb # 自动加入集群  

五、验证集群状态

在任意节点登录MySQL,执行:

SHOW STATUS LIKE 'wsrep_cluster_size'; # 若返回节点数(如3),则集群成功 SHOW STATUS LIKE 'wsrep_ready'; # 确保状态为ON 

六、后续管理

  • 添加节点:新节点按上述配置修改IP后,直接启动服务即可自动同步。
  • 删除节点:停止节点服务,集群自动剔除。
  • 监控与日志:通过SHOW GLOBAL STATUS LIKE 'wsrep%'查看集群状态,配置log-error记录错误日志。

注意事项

  • 存储引擎:仅支持InnoDB/XtraDB,MyISAM不支持同步。
  • 网络延迟:建议节点部署在局域网或低延迟环境,避免同步超时。
  • 安全配置:通过防火墙限制非必要端口访问,定期备份数据。

参考来源

0