0

0

mysql如何搭建高可用集群

P粉602998670

P粉602998670

发布时间:2025-09-22 08:31:01

|

919人浏览过

|

来源于php中文网

原创

MySQL高可用集群核心是防止单点故障,常用方案包括MHA、InnoDB Cluster和中间件配合Keepalived;其中InnoDB Cluster基于组复制,官方支持强一致性,推荐新项目使用,而MHA虽成熟但已停更,适合过渡;关键需保障数据一致性、低延迟网络、完善监控与备份。

mysql如何搭建高可用集群

MySQL 搭建高可用集群的核心目标是避免单点故障,保证数据库在节点宕机时仍能正常提供服务。常用的方案包括主从复制 + 故障转移、MHA、InnoDB Cluster(基于组复制)、以及使用中间件如 ProxySQL 配合 Keepalived 等。下面介绍几种主流且实用的搭建方式。

1. MySQL 主从复制 + MHA 实现高可用

MHA(Master High Availability) 是一个成熟的开源工具,能在主库宕机时自动完成主从切换,并提升一个从库为新的主库。

搭建步骤如下:

    • 配置主从复制:确保至少有一个主库和两个从库,通过 binlog 实现数据同步。
    • 安装 MHA Node 和 Manager:每个数据库节点安装 MHA Node,单独管理节点安装 MHA Manager。
    • 配置 SSH 免密登录:MHA 需要通过 SSH 管理各数据库节点。
    • 编写 MHA 配置文件:指定主库、从库、候选主库等信息。
    • 启动 MHA Manager 监控:它会持续检查主库状态,一旦发现故障,自动执行 failover。
    • 配合 VIP(虚拟IP):切换后将 VIP 漂移到新主库,应用无需修改连接地址。

优点是成熟稳定,兼容性好;缺点是切换过程可能丢失少量数据,且 MHA 已停止维护。

2. MySQL InnoDB Cluster(推荐现代方案)

InnoDB Cluster 是 Oracle 官方推出的高可用方案,基于 Group Replication(组复制) 技术,支持多节点数据同步和自动故障转移。

核心组件:

萤火商城
萤火商城

萤火商城V2.0,是2021年全新推出的一款轻量级、高性能、前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP,前后端源码完全开源,看见及所得,完美支持二次开发,可学习可商用,让您快速搭建个性化独立商城。萤火商城V2.0开源版 [uni-app端]如何使用uni-app端一、导入uniapp项目 1. 首先下载HBuilderX并安装,地址:https://www.dcloud

下载
    • MySQL Group Replication:提供多主或单主模式下的数据强一致性复制。
    • MySQL Shell:用于配置和管理集群。
    • MySQL Router:自动路由客户端请求到当前主节点。

搭建流程:

    • 所有节点启用 GTID、binlog、log_slave_updates 等复制相关参数。
    • 使用 MySQL Shell 连接一个实例,创建集群:
    dba.createCluster()

    • 添加其他节点:
    cluster.addInstance()
    ,自动进行数据同步。

    • 启动 MySQL Router,连接元数据获取集群拓扑,实现智能路由。

优势是官方支持、自动选主、数据一致性高,适合新项目部署。

3. 使用中间件 + Keepalived 实现简易高可用

适用于对成本敏感或已有主从架构的场景。

    • 用 MyCat、ProxySQL 或 HAProxy 做读写代理,统一访问入口。
    • 在主库和备用节点部署 Keepalived,绑定一个虚拟 IP(VIP)。
    • 正常时 VIP 在主库上;主库宕机后,Keepalived 检测失败,VIP 自动漂移到备库。
    • 结合脚本实现主从切换和只读关闭,提升备库为主库。

注意:此方式需手动或脚本处理数据一致性问题,不适用于复杂环境。

4. 关键注意事项

    • 数据一致性:异步复制存在延迟风险,建议使用半同步或组复制。
    • 网络稳定性:集群节点间网络延迟应尽量低,避免脑裂。
    • 监控告警:部署 Prometheus + Grafana 或 Zabbix,实时监控复制延迟、节点状态。
    • 备份策略:即使有高可用,也需定期全量+增量备份,防止逻辑误删。

基本上就这些。选择哪种方案取决于业务需求、团队技术和数据一致性要求。InnoDB Cluster 是目前最推荐的现代化高可用方案,而 MHA 可作为传统系统过渡使用。关键是做好测试和故障演练,确保切换过程可靠。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

666

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

247

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

281

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

515

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

256

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

386

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

531

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

600

2023.08.14

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

70

2026.01.23

热门下载

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

精品课程

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

共48课时 | 1.9万人学习

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

共3课时 | 0.3万人学习

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

共1课时 | 810人学习

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

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