MySQL高可用架构学习
MHA(Master HA)是一款开源的由Perl语言开发的MySQL高可用架构方案。它为MySQL 主从复制架构提供了 automating master failover 功能。MHA在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的 master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免一致性方面的问题。MHA 还提供了 master 节点的在线切换功能,即按需切换 master / slave 节点。

MHA软件由两部分组成,Manager工具包和Node工具包,具体的说明如下:
| MHA Manager(管理节点) | 作用 |
|---|---|
| masterha_check_ssh | 检查MHA的 |
| ssh-key masterha_check_repl | 检查主从复制情况 |
| masterha_manger | 启动MHA |
| masterha_check_status | 检测MHA的运行状态 |
| masterha_master_monitor | 检测master是否宕机 |
| masterha_master_switch | 手动故障转移 |
| masterha_conf_host | 手动添加server信息 |
| masterha_secondary_check | 建立TCP连接从远程服务器 |
| masterha_stop | 停止MHA |
Node工具包主要包括以下几个工具:
| MHA Node(数据节点) | 作用 |
|---|---|
| save_binary_logs | 保存宕机的master的binlog |
| apply_diff_relay_logs | 识别 relay logs的差异对比 |
| filter_mysqlbinlog | 防止回滚事件,截取日志 |
| purge_relay_logs | 清除中继日志relay_logs |
MHA故障发现与转移过程


转移过程:保证所有从属服务器之间数据是一致的。

比对后,将差异数据发往每一个从属服务器。所有从属服务器日志与主服务器保持同步。

主服务器选择方案:

VIP虚拟IP漂移,将原有的VIP指向新的主服务器。大概有几秒中时间。

old master恢复后:

总结一下
优点:
- 由perl语言开发的开源工具
- 可以支持基于GTID的复制模式
- 当主DB不可用时,从多个从服务器中选举出来新的主DB
- 提供了主从切换和故障转移功能,在线故障转移时不易丢失数据
- 同一个监控节点可以监控多个集群
缺点:
- 需要编写脚本或利用第三方工具来实现VIP的配置
- MHA启动后只监控主服务器是否可用,没办法监控从服务器
- 需要基于SSH免认证登陆配置,存在一定的安全隐患
- 没有提供从服务器的读负载均衡功能
相关文章:
MySQL高可用架构学习
MHA(Master HA)是一款开源的由Perl语言开发的MySQL高可用架构方案。它为MySQL 主从复制架构提供了 automating master failover 功能。MHA在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的 master 节点,在…...
seata的AT模式分析
(1)AT模式的核心组件: 事务协调器 TC 维护全局和分支事务的状态; 维护全局锁的状态; 接受TM的提交或者回滚命令,联系RM进行分支事务的提交或者回滚。 事务管理者 TM 开启全局事务,向TC申请…...
【算法练习Day22】 组合总和 III电话号码的字母组合
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 组合总和 III剪枝 电话号码…...
react-------JS对象、数组方法实际应用集合
目录 1、向空对象里添加键值对 2、js在数组对象中添加和删除键值对(对象属性)的方法 2.1 添加 3、对已有的数据更换键值对的属性名 4、js字符串拼接、数组转字符串 5、从数组中提取元素 1、向空对象里添加键值对 对象的属性可以使用[ ] 或者 . 而…...
AWS SAP-C02教程6--安全
云的安全是一个重要的问题,很多企业不上云的原因就认为云不安全,特别是对安全性要求较高的企业,所以云安全是一个非常广泛且重要的话题,其实在之前章节中的组件都会或多或少讲述与其相关的安全问题,这里也会详细讲一下。本章主要通过讲述一些独立或与安全有关的组件以及网…...
Go学习第一章——开发环境安装以及快速入门(GoLand)
Go开发环境安装以及快速入门 一、环境配置1.1 go开发工具1.2 go sdk下载3.1 go相关命令行 二、快速入门2.1 创建项目2.2 创建.go程序文件2.3.配置 mod 的开启与关闭2.4 用 GoLand 写第一份代码2.5.代码静态检测(此部分非必要) 三、初步了解3.1 代码解释以…...
大数据学习(14)-Map Join和Common Join
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博>主哦&#x…...
Docker安装ES7.14和Kibana7.14(无账号密码)
一、Docker安装ES7.14.0 1、下载镜像 docker pull elasticsearch:7.14.0 2、docker安装7.14.0 mkdir -p /usr/local/elasticsearch/config mkdir -p /usr/local/elasticsearch/data chmod 777 -R /usr/local/elasticsearch/ echo "http.host: 0.0.0.0" >> /u…...
Zynq中断与AMP~双核串口环回之PS与PL通信
实现思路: 额外配置:通过PL配置计数器,向CPU0和CPU1发送硬中断。 1.串口中断CPU0,在中断中设置接收设置好字长的数据,如果这些数据的数值符合约定的命令,则关闭硬中断,并将这部分数据存入AxiLi…...
【一:实战开发testng的介绍】
目录 1、主要内容1.1、为啥要做接口测试1.2、接口自动化测试落地过程1.3、接口测试范围1.4、手工接口常用的工具1.5、自动化框架的设计 2、testng自动化测试框架基本测试1、基本注解2、忽略测试3、依赖测试4、超时测试5、异常测试6、通过xml文件参数测试7、通过data实现数据驱动…...
C现代方法(第9章)笔记——函数
文章目录 第9章 函数9.1 函数的定义和调用9.1.1 函数定义9.1.2 函数调用 9.2 函数声明9.3 实际参数9.3.1 实际参数的转换9.3.2 数组型实际参数9.3.3 变长数组形式参数(C99)9.3.4 在数组参数声明中使用static(C99)9.3.5 复合字面量 9.4 return语句9.5 程序终止9.5.1 exit函数 9.…...
【算法练习Day23】 复原 IP 地址子集子集 II
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 复原 IP 地址子集子集 II总…...
fastadmin框架token验证
在FastAdmin框架中,Token验证是一种常见的身份验证方法,用于确保用户请求的安全性和合法性。本文将介绍如何在FastAdmin框架中实现Token验证。 什么是Token验证? Token验证是一种基于令牌(Token)的身份验证方式。在这种方式下,用…...
了解 AI :了解 AI 方面的一些术语 (中英文对照)
本心、输入输出、结果 文章目录 了解 AI :了解 AI 方面的一些术语 (中英文对照)前言AI 方面的一些术语 (中英文对照)AI 方面的一些术语 (中英文对照) - 文字版弘扬爱国精神 了解 AI :…...
【Python学习笔记】对象、方法
1. 对象方法定义 对象通常都拥有属于自己的 方法(英文叫 method )。 对象的方法其实可以看成是对象所拥有的函数。也就是说 这个方法,是属于这个对象的函数。 调用对象的方法,和调用函数差不多,只要在前面加上 所属…...
企业IT资产设备折旧残值如何计算
环境: 企业/公司 IT资产 问题描述: 企业IT设备折旧残值如何计算? 解决方案: 1.按三年折旧 净值原值-月折旧额折旧月份 , 月折旧额原值(1-3%)/36 折旧月份ROUND(E2*(1-3%)/36,2) 2.净值E2-F2*G2...
Linux性能优化--性能工具:下一步是什么
13.0 概述 本章是对一些事情的思索,包括:Linux性能工具的当前状态,哪些仍需要改进以及为什么Linux是当前一个相当不错的进行性能调查的平台。 阅读本章后,你将能够: 了解Linux性能工具箱的漏洞,以及一些理…...
网工内推 | IT主管、高级网工,上市公司,必须持有HCIE认证
01 深圳市飞荣达科技股份有限公司 招聘岗位:高级网络工程师 职责描述: 1. 参与、负责集团公司IT基础技术架构的规划设计、实施及维护、性能优化,包括数据中心机房、网络架构、虚拟化平台、信息安全设备及灾备系统等; 2. 负责集团…...
bulldog 靶机
bulldog 信息搜集 存活检测 详细扫描 后台网页扫描 网页信息搜集 正在开发的如果你正在读这篇文章,你很可能是Bulldog Industries的承包商。恭喜你!我是你们的新老板,组长艾伦布鲁克。CEO解雇了整个开发团队和员工。因此,我们需要迅速招到一…...
如何借助边缘智能网关打造智慧城市便民驿站
智慧城市驿站是一类提供多样化便利服务的新型智能公共设施,通过融合物联网技术、边缘智能技术、新能源技术等,为城市居民整合提供休闲、购物、卫生、广告、安全等公共服务,进一步提升日常生活体验。本篇就为大家介绍如何基于边缘智能网关&…...
Gost透明代理终极指南:实现无感知网络流量转发 [特殊字符]
Gost透明代理终极指南:实现无感知网络流量转发 🚀 Gost透明代理是一种强大的网络流量转发工具,能够实现完全无感知的网络代理体验。作为GO Simple Tunnel项目的核心功能,Gost透明代理让用户无需手动配置每个应用的代理设置&#x…...
qmcdump:QQ音乐加密文件解码的跨平台解决方案指南
qmcdump:QQ音乐加密文件解码的跨平台解决方案指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 问题引入&…...
Llama-3.2V-11B-cot效果展示:识别艺术海报中风格与主题逻辑断层
Llama-3.2V-11B-cot效果展示:识别艺术海报中风格与主题逻辑断层 1. 工具介绍 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具。该工具针对双卡4090环境进行了深度优化,特别适合需要分析复杂视觉内容的场景&…...
华为eNSP实战:手把手教你用单臂路由打通不同VLAN,附排错命令清单
华为eNSP单臂路由实战:跨VLAN通信配置与深度排错指南 当企业网络规模扩大时,VLAN隔离是保障安全性和广播域控制的必要手段。但实际业务中,不同部门间的数据交互需求常常需要跨越VLAN边界。在华为认证体系HCIA和HCIP的实验环境中,单…...
AI SaaS创业:从0到1打造爆款产品的核心方法论
市场定位与需求验证通过数据分析和用户访谈验证目标市场的真实需求。使用工具如Google Trends、SEMrush分析搜索热度,结合用户调研(SurveyMonkey、Typeform)明确痛点。避免主观假设,确保产品解决高频、高价值问题。最小可行产品&a…...
人工智能之数字生命 认知架构白皮书 第4章
《HY-Ego 认知架构白皮书》(续)4. 世界树(World Tree)——全局世界骨架 世界树是 HY-Ego 认知架构的全局事实骨架,负责对整个“世界”进行结构化建模、组织和维护。它与因果树并行独立运行,二者通过快照机制…...
微前端进阶:WuJie + Vite + Vue3 的无界架构性能优化全攻略
1. WuJie微前端框架的核心优势 WuJie作为新一代微前端解决方案,最大的特点就是真正实现了"无界"体验。我在多个大型项目中实测发现,它完美解决了传统iframe方案存在的样式隔离、通信困难等问题。不同于single-spa这类基于路由的微前端框架&…...
【Guava】并发编程ListenableFutureService
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
BusyBox根文件系统制作避坑指南:如何让QEMU模拟的ARM板成功挂载你的第一个Linux系统
BusyBox根文件系统制作避坑指南:如何让QEMU模拟的ARM板成功挂载你的第一个Linux系统 当你在QEMU上启动一个精心编译的ARM Linux内核时,最令人沮丧的莫过于看到内核在挂载根文件系统时崩溃。作为嵌入式Linux开发的关键环节,根文件系统的构建往…...
新手如何快速掌握多层板设计?从电源PCB叠层结构讲起
引言:从双板板到多层板,你准备好了吗?作为一名硬件工程师,你是否也经历过这样的困惑:刚学会画双板板,项目需求就变成了4层、6层甚至8层板?面对叠层结构的选择,你是否感到无从下手&am…...
