ubuntu

Ubuntu MariaDB集群搭建方法是什么

小樊
43
2025-10-04 02:44:32
栏目: 云计算

Ubuntu环境下搭建MariaDB Galera集群的详细步骤

一、准备工作

  1. 服务器要求:准备至少3台运行Ubuntu(如20.04及以上版本)的服务器,确保每台服务器具备sudo权限的非root用户。
  2. 网络配置:所有节点之间需能互相SSH访问,且开放**3306(MySQL默认端口)4567(Galera集群通信端口)**等必要端口。
  3. 版本兼容性:选择MariaDB 10.1及以上版本(Ubuntu 16.04及以上系统自带Galera支持),确保所有节点版本一致。

二、安装MariaDB

在所有节点上执行以下命令安装MariaDB Server及客户端:

sudo apt update && sudo apt upgrade -y  # 更新系统软件包
sudo apt install mariadb-server mariadb-client -y  # 安装MariaDB

安装完成后,运行安全加固脚本设置root密码及基础安全策略:

sudo mysql_secure_installation

三、配置MariaDB集群

1. 编辑Galera配置文件

在每个节点上创建/修改Galera配置文件(路径通常为/etc/mysql/conf.d/galera.cnf/etc/mysql/mariadb.conf.d/99-cluster.cnf),添加以下内容(替换为实际节点IP):

[mysqld]
# 基础配置
bind-address = 0.0.0.0  # 允许远程连接
default-storage-engine = InnoDB  # 使用InnoDB存储引擎(Galera要求)
innodb_autoinc_lock_mode = 2  # 解决自增ID冲突
binlog_format = ROW  # 推荐ROW格式(保证数据一致性)

# Galera集群配置
wsrep_on = ON  # 开启Galera功能
wsrep_provider = /usr/lib/galera/libgalera_smm.so  # Galera provider路径(Ubuntu默认路径)
wsrep_cluster_name = "galera_cluster"  # 集群名称(所有节点必须一致)
wsrep_cluster_address = "gcomm://node1-ip,node2-ip,node3-ip"  # 集群节点地址列表(初始节点用此格式)
wsrep_node_address = "当前节点IP"  # 当前节点的实际IP
wsrep_node_name = "node1"  # 当前节点名称(自定义,需唯一)
wsrep_sst_method = rsync  # 数据同步方法(可选rsync/xtrabackup-v2,xtrabackup更安全)

注:wsrep_cluster_address在初始节点填写所有节点IP,后续加入节点需修改为现有集群地址(如gcomm://existing-node-ip)。

2. 初始化集群

四、验证集群状态

在任意节点上登录MySQL,执行以下命令查看集群状态:

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size';"

若输出结果中wsrep_cluster_size的值等于节点数量(如3),则说明集群搭建成功。

五、可选:配置负载均衡(提升可用性)

为避免单点故障,可通过HAProxy实现负载均衡,将请求分发到各个MariaDB节点:

  1. 安装HAProxy
    sudo apt install haproxy -y
    
  2. 配置HAProxy
    编辑/etc/haproxy/haproxy.cfg,添加以下内容(替换为节点IP):
    frontend mysql_front
        bind 192.168.1.2:3306  # HAProxy监听地址
        default_backend mysql_back
    
    backend mysql_back
        balance roundrobin  # 轮询算法
        server node1 192.168.1.3:3306 check  # 节点1
        server node2 192.168.1.4:3306 check  # 节点2
        server node3 192.168.1.5:3306 check  # 节点3
    
  3. 重启HAProxy
    sudo systemctl restart haproxy
    
    此时,可通过HAProxy的IP(如192.168.1.2)访问MariaDB集群。

六、注意事项

0
看了该问题的人还看了