阅读量:2
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)
四、启动集群
-
初始化集群:
在第一个节点执行(其他节点跳过此步):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';
若返回值等于节点数量,说明集群部署成功。
六、可选:配置负载均衡与高可用
- 负载均衡:使用HAProxy或ProxySQL将读请求分发到各节点,写请求指向主节点。
- 故障转移:结合MHA(Master High Availability)实现主节点故障时自动切换。
注意事项
- 存储引擎:仅支持InnoDB/XtraDB,需确保表引擎一致。
- 网络延迟:节点间延迟需控制在50ms以内,避免同步延迟。
- 数据同步:首次加入节点时需确保数据目录为空,或通过
wsrep_sst_method指定同步方式。
参考来源:
以上就是关于“怎样实现MariaDB集群部署”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm