数据库之MHA

数据库之MHA

什么是MHA?

masterhight availabulity:基于主库的高可用环境下:主从复制 故障切换

主从的架构

MHA:最少要一主两从

mysql的单点故障问题,一旦主库崩溃,MHA可以在0-30秒内自动完成故障切换

MHA使用的是半同步复制,只要有一台从服务器写入数据,就会自动提交给客户端

如果master崩溃,slave就会从主的二进制日志保存文件

slave识别最新更新的日志

差异部分同步到slave

提升一个新的slave作为master

其他的slave继续和新的master同步

实验准备:

1、MHA架构搭建

2、模拟故障

3、故障恢复

MHA manager 192.168.233.30

master 192.168.233.110

slave1 192.168.233.120

slave2 192.168.233.130

node组件-------->需要部署在所有服务器上。manager组件依赖node组件,node组件监控mysql的状态

node组件靠ssh来进行通信

主从复制

set global read_only=1;

设置数据库为只读模式

所有的服务器都要按照MHA的依赖环境必须要按照epel源

先安装node组件,在安装MHA

masterha_check_ssh:检查MHA的SSH的配置状况

masterha_check_repl:检查mysql的复制情况

masterha_manager:启动manager的脚本

masterha_check_status:检测MHA的运行状态

masterha_master-monitor:检测master主机的情况,masters是否宕机

masterha_master_switch: 控制故障转移

masterha_conf_host: 添加或者删除配置的server信息。

masterha_stop:停止MHA脚本

node组件

save_binary_logs:保存和复制mater的二进制日志

apply_didd_relay_logs:识别二进制日志当中的差异事件,然后发送给其他的slave

filter_mysqlbinlog:去除不必要的回滚(mha已经不用了)

purge_relay_logs:同步之后清楚中继日志(不会阻塞sql的线程)

node依赖ssh通信,每台主机实现ssh的免密登录

master_ip_failover:自动切换时管理vip的脚本

master_ip_online_change:在切换时,vip的管理脚本

相关推荐
这个DBA有点耶7 小时前
2026年分布式数据库有哪些主流选择?先评估这5个维度再决定
数据库·分布式·dba
这个DBA有点耶10 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构
胡写代码10 小时前
数据库审计字段,别再每张表各写一套了——我统一成这 6 个字段
数据库
SelectDB14 小时前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
ClouGence15 小时前
开源数据库管理工具 CloudDM 4.2.0 发布,新增 GoldenDB、KingbaseES 等数据源
数据库·dba·devops
发霉的馒头15 小时前
ORA-00845: MEMORY_TARGET not supported on this system的解决方法
数据库
草莓熊Lotso17 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
煎饼皮皮侠18 小时前
【设计】设计一个web版的数据库管理平台后端(之五) --借鉴mybatis
数据库·mybatis
东风破_1 天前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
九皇叔叔1 天前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构