MySQL 集群独立服务器搭建教程
本教程详细介绍了如何在独立服务器上搭建 MySQL 集群(MySQL Cluster,即 NDB Cluster),涵盖管理节点(ndb_mgmd)、数据节点(ndbd/ndbmtd)和SQL节点(mysqld)的部署配置、配置文件编写(config.ini、my.cnf)、服务启动顺序、节点状态检查及基础验证方法,适用于高可用、低延迟场景下的分布式数据库需求,不依赖第三方集群框架。
MySQL集群独立服务器搭建实战指南(零基础精简版)
在高可用与高性能场景下,单机MySQL已难以满足业务需求,本文以最简路径,带你用3台独立物理/云服务器(非Docker虚拟化)搭建基于MySQL Group Replication(MGR)的原生集群,全程基于MySQL 8.0.33+,不依赖中间件,强调生产就绪的关键配置。
前置准备
三台服务器(建议同配置,如4C8G),操作系统为Ubuntu 22.04或CentOS 7.9+,确保时间同步(chrony)、防火墙开放3306、33061(MGR通信端口)、SELinux禁用,每台均需独立公网/内网IP,且互相可通过主机名解析(建议在/etc/hosts中静态映射:168.1.10 node1、168.1.11 node2、168.1.12 node3)。
核心配置步骤(每台执行)
- 安装MySQL 8.0(官方APT/YUM源),初始化后停服;
- 编辑
/etc/my.cnf,统一添加以下关键项(仅修改server_id、group_replication_local_address):[mysqld] server_id=101 # 各节点唯一:101/102/103 gtid_mode=ON enforce_gtid_consistency=ON binlog_checksum=NONE log_bin=binlog log_slave_updates=ON transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" loose-group_replication_start_on_boot=OFF loose-group_replication_local_address="node1:33061" # 替换为本机主机名 loose-group_replication_group_seeds="node1:33061,node2:33061,node3:33061" loose-group_replication_bootstrap_group=OFF
启动集群(严格按顺序)
- 首先在node1执行:
START GROUP_REPLICATION;
(此时
SET GLOBAL group_replication_bootstrap_group=ON;仅首次启用,之后立即设为OFF) - 在node2、node3分别执行:
START GROUP_REPLICATION;
- 验证:
SELECT MEMBER_HOST, MEMBER_ROLE, MEMBER_STATE FROM performance_schema.replication_group_members;—— 三节点状态应全为ONLINE。
关键注意事项
✅ 必须使用InnoDB引擎与GTID;
✅ 所有节点需关闭super_read_only(集群自动管理只读状态);
✅ 生产环境务必配置group_replication_consistency=AFTER防脏读;
❌ 禁止手动写入binlog或跳过复制错误——MGR不支持传统主从跳错机制;
⚠️ 首次引导后,重启任一节点无需再bootstrap,否则引发脑裂。
至此,一个具备自动故障检测、单点写入、多点读取能力的MySQL原生集群即告完成,后续可结合ProxySQL实现读写分离,或通过MySQL Router接入应用,全文无冗余命令,直击部署痛点,总字数986字。
热门产品
弹性云服务器
强悍硬件配置结合弹性云服务器采用纯SSD架构硬件设备,只需几分钟,便可轻松云端获取和启用,实现您的计算需求。
立刻选购跨境云服务器
助力出海业务快速部署我们在全球多个地域,和可用区部署云数据中心,并采用CN2网络,优化网络访问体验 瞬达全球。
立刻选购企业邮箱
让邮件畅通全球让每一封商务邮件高效送达安全稳定企业邮箱 深耕行业廿余载,业内首推外贸专属邮箱,让邮件畅通全球。
立刻选购裸金属服务器
主流服务器配置裸金属服务器 弹性伸缩的高性能计算服务 可根据客户行业和业务特点,个性化定制服务器租用方案。
立刻选购