部署 MHA 高可用
目录一、MySQL MHA1.1 什么是MHA1.2 MHA的组成1.3 MHA的特点1.4 MHA的工作原理二、搭建MySQL MHA2.1 环境2.2 准备工作2.3 安装MHA2.4 在所有服务器上配置无密码认证2.5 在manager节点上配置MHA2.6 第一次配置需要在Master节点上手动开启虚拟IP2.7 在manager节点上测试ssh2.8 在manager节点上测试mysql主从连接2.9 在manager节点上启动MHA2.10 查看MHA状态2.11 查看MHA日志2.12 查看master VIP2.13 MHA故障模拟2.14 故障恢复三、总结一、MySQL MHA1.1 什么是MHAMHAMaster High Availability是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性以达到真正意义上的高可用。1.2 MHA的组成1、MHA Node数据节点MHA Node 运行在每台 MySQL 服务器上。2、MHA Manager管理节点 检测MHA Manager 可以单独部署在一台独立的机器上管理多个 master-slave 集群也可以部署在一台 slave 节点上。MHA Manager 会定时探测集群中的 master 节点。当 master 出现故障时它可以自动将最新数据的 slave 提升为新的 master 然后将所有其他的 slave 重新指向新的master。整个故障转移过程对应用程序完全透明。1.3 MHA的特点1、自动故障切换过程中MHA试图从宕机的主服务器上保存二进制日志最大程度的保证数据不丢失2、使用半同步复制可以大大降低数据丢失的风险如果只有一个slave已经收到了最新的二进制日志MHA可以将最新的二进制日志应用于其他所有的slave服务器上因此可以保证所有节点的数据一致性3、目前MHA支持一主多从架构最少三台服务即一主两从1.4 MHA的工作原理1、从宕机崩溃的master 保存二进制日志事件binlog events2、识别含有最新的更新 slave 日志3、应用差异的中继日志relay log到其他的slave4、应用从master保存的二进制日志事件5、提升一个 salve 为新的master6、使其他的slave连接行的master 进行复制。二、搭建MySQL MHA2.1 环境1、MHA manager 节点服务器CentOS7.6(64 位) manager/10.8.0.104 安装MHA node和 manager 组件2、Master 节点服务器CentOS7.6(64 位) mysql1/10.8.0.110 安装mysql5.7、MHA node组件3、Slave1 节点服务器CentOS7.6(64 位) mysql2/10.8.0.100 安装mysql5.7、MHA node组件4、Slave2 节点服务器CentOS7.6(64 位) mysql3/10.8.0.102 安装mysql5.7、MHA node组件5、主从复制2.2 准备工作1、主从复制后将两个从库设置为只读模式2、插入数据测试数据库同步主库从库2.3 安装MHA1、在所有服务器上安装MHA依赖环境2、在所有服务器上安装node组件3、在MHA manager节点上安装manager组件10.8.0.1042.4 在所有服务器上配置无密码认证1、在manager节点上配置所有数据库节点的无密码认证2、在master节点上配置slave1和slave2节点的无密码认证3、在slave1上配置数据库节点master和slave2的无密码认证4、在slave2上配置数据库节点master和slave1的无密码认证2.5 在manager节点上配置MHA1、在 manager 节点上复制相关脚本到/usr/local/bin 目录生成4个执行文件2、复制master_ip_failover文件到/usr/local/bin目录下3、修改master_ip_failover文件添加内容4、创建 MHA 软件目录并拷贝配置文件这里使用app1.cnf配置文件来管理 mysql 节点服务器5、修改app1.cnf配置文件2.6 第一次配置需要在Master节点上手动开启虚拟IP2.7 在manager节点上测试ssh2.8 在manager节点上测试mysql主从连接2.9 在manager节点上启动MHA2.10 查看MHA状态2.11 查看MHA日志2.12 查看master VIP2.13 MHA故障模拟1、关闭master节点的Mysql,正常自动切换一次后MHA进程会退出。HMA会自动修改app1.cnf文件内容将宕机的 master 节点删除。查看slave1是否接管VIP2.14 故障恢复1、master节点开启mysql服务2、在slave1节点上查看3、在原主服务器上执行同步操作4、在 manager节点上修改配置文件app1.cnf再把这个记录添加进去因为它检测掉失效时候会自动消失5、在manager节点上启动MHA三、总结环境准备基于CentOS 7.6搭建一主两从10.8.0.110为主10.8.0.100/102为从架构并配置MySQL主从复制将从库设为只读。组件安装在所有节点安装MHA依赖环境并分别在Master/Slave节点安装node组件在Manager节点安装manager组件。核心配置配置各节点间的SSH无密码认证复制并修改MHA配置文件app1.cnf手动开启虚拟IP。启动与测试通过masterha_check_ssh检查连通性随后在Manager节点后台启动MHA服务。

相关新闻

MCP协议生产实践:AI Agent工具调用标准化落地指南

MCP协议生产实践:AI Agent工具调用标准化落地指南

摘要 随着大语言模型(Large Language Model,LLM)从文本生成工具演变为具备自主规划、任务执行和环境交互能力的 AI Agent,如何让模型稳定、安全、高效地调用企业内部系统,成为智能体落地过程中的核心问题。 传统方式…

2026/10/10 22:20:43 阅读更多 →
SAP MB52物料库存查询:从核心原理到高效实战指南

SAP MB52物料库存查询:从核心原理到高效实战指南

1. 项目概述:为什么MB52是物料管理的“眼睛”在SAP MM(物料管理)模块的日常工作中,物料库存查询是频率最高、最基础的操作之一。无论是仓库管理员盘点实物,还是计划员安排生产,或是销售同事确认订单交期&am…

2026/10/7 10:30:26 阅读更多 →
Godot 4.2实战:A*算法与六边形网格寻路系统开发指南

Godot 4.2实战:A*算法与六边形网格寻路系统开发指南

1. 项目概述:当A*算法遇上六边形世界在游戏开发里,寻路是个老生常谈但又绕不开的核心问题。无论是RTS里的小兵冲锋,还是RPG里的角色移动,一个高效、智能的寻路系统直接决定了玩家的游戏体验。我们熟知的A*(A-Star&…

2026/10/2 0:37:25 阅读更多 →

最新新闻

Claude Code 在 Win11 报 401?把 ANTHROPIC_API_KEY 与 Base URL 改到 TaoToken

Claude Code 在 Win11 报 401?把 ANTHROPIC_API_KEY 与 Base URL 改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 22:20:08 阅读更多 →
SQL Server 游标不能 ORDER BY 排序的解决办法:用 TaoToken 统一 Key 打通排查链路

SQL Server 游标不能 ORDER BY 排序的解决办法:用 TaoToken 统一 Key 打通排查链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 22:20:08 阅读更多 →
TaoToken 流式查询实战:MyBatis Cursor 分页大数据查询

TaoToken 流式查询实战:MyBatis Cursor 分页大数据查询

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 22:20:08 阅读更多 →
从零实现全连接神经网络:Python手写代码与核心原理解读

从零实现全连接神经网络:Python手写代码与核心原理解读

简介:这份资源是一份使用 Python 与 NumPy 从零搭建全连接神经网络的入门实现,面向想理解深度学习底层原理的初学者与进阶开发者,解决“只会调用框架、不懂内部机制”的问题。资源共含 7 个 py 文件,压缩包仅 4KB,代码…

2026/10/10 22:20:08 阅读更多 →
基于CNN与OpenCV的Python车牌识别实战:从环境搭建到模型调优

基于CNN与OpenCV的Python车牌识别实战:从环境搭建到模型调优

简介:这份资源面向计算机视觉入门者、机器学习课程学习者以及需要完成毕设或课设的学生,提供一套基于CNN与OpenCV的车牌识别完整实现方案,用于解决复杂场景下车牌定位与字符识别准确率不足的问题。压缩包共约2000个文件,以1994张j…

2026/10/10 22:20:08 阅读更多 →
微电网仿真必看:三机并联风光储系统Simulink建模全流程

微电网仿真必看:三机并联风光储系统Simulink建模全流程

做微电网仿真课题的人,十个里有八个会卡在“风光储怎么并联”这一步。我拿到“三机并联风光混合储能并网系统”这个题目时,起初也以为就是把光伏、风机、储能各搭一个模型,往交流母线上一怼就行。真跑到波形收敛那一关才发现,三台…

2026/10/10 22:19:07 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →