0

0

mysql集群是什么_mysql高可用方案说明

P粉602998670

P粉602998670

发布时间:2026-01-16 09:45:16

|

584人浏览过

|

来源于php中文网

原创

MySQL集群是为解决单点故障、读写瓶颈和数据一致性而组合使用的多种架构模式,包括主从复制、InnoDB Cluster(MGR)、DRBD+Keepalived、MHA/Orchestrator等,选型需匹配具体目标,落地成败关键在版本统一、危险SQL禁用、备份验证与监控嵌入。

mysql集群是什么_mysql高可用方案说明

MySQL 集群不是单一技术,而是**为解决单点故障、读写瓶颈和数据一致性问题而组合使用的多种架构模式的统称**。它不等于“装一堆 MySQL 就叫集群”,真正落地时必须明确目标:你要的是自动故障转移?读写分离?强一致多主?还是纯粹防宕机? 下面从实操角度拆解最常遇到的几个真实场景。

主从复制(Replication)是所有高可用方案的地基

几乎所有 MySQL 高可用方案都依赖二进制日志(binlog同步机制。主库写入变更后生成 binary log events,从库通过 I/O thread 拉取并写入 relay log,再由 SQL thread 重放——这就是经典异步复制链路。

  • 必须开启 log-bin,且主从 server-id 绝对不能重复
  • GTID 模式(MySQL 5.6+)强烈推荐,避免手动找 File/Position,切换更可靠
  • 常见翻车点:slave_sql_running: No 往往是主从表结构不一致或从库执行了 DML;seconds_behind_master 持续增长说明从库 IO 或磁盘慢,不是网络问题
  • 不要在从库写入数据——除非你已用 read_only=ON + super_read_only=ON 双锁死

InnoDB Cluster(MGR)适合需要自动选主和强一致的中小规模业务

MySQL 官方 5.7.17+ 提供的 Group Replication(MGR)是基于 Paxos 协议的多节点共识机制,天然支持单主/多主模式,故障后秒级自动切换,无需外部工具干预。

  • 必须使用 ROW 格式 binlog(binlog_format=ROW),否则事务无法校验
  • enforce_gtid_consistency=ONgtid_mode=ON 是硬性前提
  • 节点间网络延迟必须稳定 ≤ 100ms,否则频繁踢出节点(MEMBER_STATE=UNREACHABLE
  • 别跳过 MySQL Router 直连节点——它是唯一能感知集群状态并自动路由到当前主库的代理
CHANGE MASTER TO 
  MASTER_USER='repl', 
  MASTER_PASSWORD='xxx',
  MASTER_HOST='cluster-node-1',
  MASTER_PORT=3306,
  GET_MASTER_PUBLIC_KEY=1;

DRBD + Heartbeat / Keepalived 是“类 SAN”但成本更低的双机热备方案

DRBD 不同步 SQL 日志,而是直接镜像整个块设备(/dev/sdb),主库写磁盘前强制同步到备机,故障时 VIP 漂移 + 文件系统重新挂载即可启动 MySQL——数据零丢失,但仅限两节点。

网胜B2B电子商务系统蓝色风格 2008 SP6.2 普及版
网胜B2B电子商务系统蓝色风格 2008 SP6.2 普及版

  websenB2B是一套经过完善设计的B2B行业网站程序,是windows nt系列环境下最佳的B2B行业网产站解决方案。精心设计的架构与功能机制,适合从个人到企业各方面应用的要求,为您提供一个安全、稳定、高效、易用而快捷的行业网站商务系统。分普及版和商业版等不同版本。一、网胜B2B电子商务系统SP6.2蓝色风格普及版本升级功能说明:1、邮件群发功能:可以选择某一级别的会员,并放入支持html

下载
  • DRBD 同步模式必须设为 protocol C(同步写),否则有丢数据风险
  • Heartbeat 已基本被 Keepalived 替代,后者轻量、配置直观,配合 notify_master 脚本可自动启停 MySQL
  • 注意:DRBD 无法跨数据中心,两地三中心场景必须用异步复制+人工干预
  • 升级 MySQL 版本前务必先停 DRBD,否则元数据不兼容直接导致脑裂

MHA 和 Orchestrator 这类工具只解决“故障发现+切换”,不解决数据一致性

MHA(Master High Availability)是 Perl 写的老牌切换工具,能在 10–30 秒内完成主从提升,但它本身不保证从库没延迟、不校验 GTID、也不管你有没有未提交事务。现在更推荐 Orchestrator(Go 编写,带 Web UI)或 ProxySQL + 自动化脚本

  • MHA 的 master_ip_failover_script 必须自己写,否则 VIP 不会漂移
  • 切换后务必检查新主库的 Executed_Gtid_Set 是否包含旧主库最后的事务,否则可能丢写
  • 别在 MHA 环境里混用半同步(rpl_semi_sync_master_enabled),它和 MHA 的 failover 逻辑有冲突
  • 如果业务允许几秒延迟,用 ProxySQL + read/write hostgroup 做读写分离比折腾 MHA 更稳
真正决定方案成败的,往往不是选哪个架构,而是**是否统一了 MySQL 版本、是否禁用了危险 SQL(如 CREATE TEMPORARY TABLE)、是否定期验证备份可恢复、以及是否把监控嵌进了切换流程**——这些细节比“集群”二字重要得多。

相关专题

更多
数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

678

2023.10.12

SQL中distinct的用法
SQL中distinct的用法

SQL中distinct的语法是“SELECT DISTINCT column1, column2,...,FROM table_name;”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

320

2023.10.27

SQL中months_between使用方法
SQL中months_between使用方法

在SQL中,MONTHS_BETWEEN 是一个常见的函数,用于计算两个日期之间的月份差。想了解更多SQL的相关内容,可以阅读本专题下面的文章。

346

2024.02.23

SQL出现5120错误解决方法
SQL出现5120错误解决方法

SQL Server错误5120是由于没有足够的权限来访问或操作指定的数据库或文件引起的。想了解更多sql错误的相关内容,可以阅读本专题下面的文章。

1095

2024.03.06

sql procedure语法错误解决方法
sql procedure语法错误解决方法

sql procedure语法错误解决办法:1、仔细检查错误消息;2、检查语法规则;3、检查括号和引号;4、检查变量和参数;5、检查关键字和函数;6、逐步调试;7、参考文档和示例。想了解更多语法错误的相关内容,可以阅读本专题下面的文章。

357

2024.03.06

oracle数据库运行sql方法
oracle数据库运行sql方法

运行sql步骤包括:打开sql plus工具并连接到数据库。在提示符下输入sql语句。按enter键运行该语句。查看结果,错误消息或退出sql plus。想了解更多oracle数据库的相关内容,可以阅读本专题下面的文章。

675

2024.04.07

sql中where的含义
sql中where的含义

sql中where子句用于从表中过滤数据,它基于指定条件选择特定的行。想了解更多where的相关内容,可以阅读本专题下面的文章。

573

2024.04.29

sql中删除表的语句是什么
sql中删除表的语句是什么

sql中用于删除表的语句是drop table。语法为drop table table_name;该语句将永久删除指定表的表和数据。想了解更多sql的相关内容,可以阅读本专题下面的文章。

415

2024.04.29

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

20

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.8万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 793人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号