首页主机资讯Debian MariaDB如何进行集群搭建

Debian MariaDB如何进行集群搭建

时间2025-12-03 18:28:06发布访客分类主机资讯浏览204
导读:Debian 上 MariaDB Galera 多主集群搭建指南 一 架构与准备 采用 MariaDB Galera Cluster 实现 多主同步复制,建议至少 3 节点,示例 IP:192.168.100.111/112/113。各节...

Debian 上 MariaDB Galera 多主集群搭建指南

一 架构与准备

  • 采用 MariaDB Galera Cluster 实现 多主同步复制,建议至少 3 节点,示例 IP:192.168.100.111/112/113。各节点需配置 主机名解析 或内网 DNS,保证互通。系统建议使用 Debian 12,MariaDB 版本示例 10.11。为提升稳定性,建议将各节点 /etc/hosts 加入记录:
    192.168.100.111 galera-node1
    192.168.100.112 galera-node2
    192.168.100.113 galera-node3
    同时准备数据库 root 密码与必要的系统账户权限。

二 安装 MariaDB 与 Galera

  • 在所有节点安装软件包(Debian 12 通常安装 mariadb-server 会自动拉取 galera-4 等依赖):
    apt update & & apt install -y mariadb-server mariadb-client galera-4
    安装完成后先不要启动 MariaDB,后续通过引导方式启动第一个节点。

三 配置 Galera

  • 编辑配置文件(Debian 12 常用路径:/etc/mysql/mariadb.conf.d/50-server.cnf),在文件末尾加入 Galera 配置。以下为 galera-node1 示例,其他节点仅修改 wsrep_node_address 与本机 IP:
    [galera]
    wsrep_on=ON
    wsrep_provider=/usr/lib/galera/libgalera_smm.so
    wsrep_cluster_address=“gcomm://192.168.100.111,192.168.100.112,192.168.100.113”
    binlog_format=row
    default_storage_engine=InnoDB
    innodb_autoinc_lock_mode=2
    bind-address=0.0.0.0
    wsrep_cluster_name=“MariaDB_Cluster”
    wsrep_node_address=“192.168.100.111”
    wsrep_node_name=“galera-node1”
    说明:
    • 注释或调整 bind-address,确保监听 0.0.0.0(或指定内网接口)。
    • 各节点使用相同 wsrep_cluster_namewsrep_cluster_address,但 wsrep_node_address/name 唯一。

四 启动集群与验证

  • 首次引导(仅在一个节点执行,例如 galera-node1):
    systemctl stop mariadb
    galera_new_cluster
    其他节点正常启动:
    systemctl start mariadb
    验证集群状态(任意节点执行):
    mysql -e “show status like ‘wsrep_cluster_size’; ” # 期望值为 3
    mysql -e “show status like ‘wsrep_connected’; ” # 期望值为 ON
    mysql -e “show status like ‘wsrep_incoming_addresses’; ” # 应列出 3 个节点
    mysql -e “show status like ‘wsrep_local_state_comment’; ” # 查看同步状态描述
    完成后建议运行 mysql_secure_installation 完成安全初始化(设置 root 密码、移除匿名用户等)。

五 防火墙与常见维护

  • 防火墙放通端口(示例为 firewalld,生产可按需收紧网段):
    firewall-cmd --permanent --add-port=3306/tcp
    firewall-cmd --permanent --add-port=4567/tcp
    firewall-cmd --permanent --add-port=4568/tcp
    firewall-cmd --permanent --add-port=4444/tcp
    firewall-cmd --reload
    说明:
    • 3306 为 MySQL 客户端/复制流量;
    • 4567 为 Galera 复制与组通信(TCP/UDP);
    • 4568 为增量状态转移(IST);
    • 4444 为状态快照传输(SST,如 rsync)。
  • 维护账户一致性(Debian 系常见问题):
    集群启动后,除第一个节点外,其他节点的 /etc/mysql/debian.cnfdebian-sys-maint 账户密码可能与数据库不一致,导致系统维护任务失败。将第一个节点的该文件内容同步到其余节点,确保 clientmysql_upgrade 段一致。
  • 重启与引导安全:
    正常重启整个集群时,先在一个节点执行 galera_new_cluster,其余节点再启动 mariadb。若某节点报错 “It may not be safe to bootstrap the cluster from this node”,检查 /var/lib/mysql/grastate.datsafe_to_bootstrap 标记;必要时将其设为 1 在该节点引导,或清理 grastate.dat/gvwstate.dat 后重试。
  • 重要提示:
    • 生产环境避免使用 –wsrep-new-cluster 连接到现有集群;该选项仅用于首次引导。
    • 建议始终保留 至少 3 个节点 以获得更稳定的仲裁与容错能力。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian MariaDB如何进行集群搭建
本文地址: https://pptw.com/jishu/762602.html
OpenSSL在Linux中的备份与恢复方法 Ubuntu如何配置HDFS的高可用性

游客 回复需填写必要信息