MySQL MHA高可用集群部署及故障切换

MySQL高可用方案MHA的部署和原理 MHA(Master High Availability)是一套相对成熟的MySQL高可用方案,能做到在0~30s内自动完成数据库的故障切换操作,在master服务器不宕机的情况下,基本能保证数据的一致性。 它由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。其中,MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave上。MHA Node则运行在每个mysql节点上,MHA Manager会定时探测集群中的maste 阅读详情

MySQL MHA

一、MHA概念

MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。
MHA 的出现就是解决MySQL 单点的问题。
MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。
MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。

1、MHA 的组成

●MHA Node(数据节点)
MHA Node 运行在每台 MySQL 服务器上。

●MHA Manager(管理节点)
MHA Manager 可以单独部署在一台独立的机器上,管理多个 master-slave 集群;也可以部署在一台 slave 节点上。
MHA Manager 会定时探测集群中的 master 节点。当 master 出现故障时,它可以自动将最新数据的 slave 提升为新的 master, 然后将所有其他的 slave 重新指向新的 master。整个故障转移过程对应用程序完全透明。

2、MHA 的特点

●自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据不丢失
●使用半同步复制,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性
●目前MHA支持一主多从架构,最少三台服务,即一主两从

二、搭建MySQL+MHA

实验思路

1、MHA架构
数据库安装
一主两从
MHA搭建

2、故障模拟
模拟主库失效
备选主库成为主库
原故障主库恢复重新加入到MHA成为从库

主机 IP地址 安装包 / 软件 / 工具
MHAmanager 192.168.220.3 MHAnode组件、MHAmanager组件
mysql1 192.168.220.4 mysql-boost-5.7.20.tar.gz、MHAnode组件
mysql2 192.168.220.5 mysql-boost-5.7.20.tar.gz、MHAnode组件
mysql3 192.168.220.6 mysql-boost-5.7.20.tar.gz、MHAnode组件

1、所有服务器,关闭系统防火墙和安全机制

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

在这里插入图片描述

2、修改三台MySQL服务器的主配置文件/etc/my.cnf

vim /etc/my.cnf
[mysqld]
server-id = 20
log_bin = master-bin
log-slave-updates = true

systemctl restart mysqld
ln -s /usr/local/mysql/bin/mysql /usr/sbin/
ln -s /usr/local/mysql/bin/mysqlbinlog /usr/sbin/

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、配置MySQL一主两从

mysql -e "grant replication slave on *.* to 'myslave'@'192.168.220.%' identified by '123123';"
mysql -e "grant all privileges on *.* to 'mha'@'192.168.220.%' identified by 'manager';"
mysql -e "grant all privileges on *.* to 'mha'@'192.168.220.4' identified by 'manager';"
mysql -e "grant all privileges on *.* to 'mha'@'192.168.220.5' identified by 'manager';"
mysql -e "grant all privileges on *.* to 'mha'@'192.168.220.6' identified by 'manager';"

192.168.220.4:
在这里插入图片描述
在这里插入图片描述
192.168.220.5:
在这里插入图片描述
192.168.220.6:
在这里插入图片描述
在Master节点查看二进制文件和同步点
在这里插入图片描述
在192.168.220.5和192.168.220.6执行同步操作

mysql -e "change master to master_host='192.168.220.4',master_user='myslave',master_password='123123',master_log_file='master-bin.000001',master_log_pos=2205;"

mysql -e "start slave;" 
mysql -e "show slave status\G" | awk '/Running:/{print}'

在这里插入图片描述
Slave1、Slave2 节点设置为只读模式

mysql -e "set global read_only=1;"

在这里插入图片描述

4、主从复制验证

在主节点创建库
在这里插入图片描述
从节点查询
在这里插入图片描述

5、安装 MHA 软件

所有服务器上都安装 MHA 依赖的环境,首先安装 epel 源,需要在线源安装

mv /etc/yum.repos.d/repos.bak/CentOS-* /etc/yum.repos.d/

yum install epel-release --nogpgcheck -y

yum install -y perl-DBD-MySQL \
perl-Config-Tiny \
perl-Log-Dispatch \
perl-Parallel-ForkManager \
perl-ExtUtils-CBuilder \
perl-ExtUtils-MakeMaker \
perl-CPAN

将软件包mha4mysql-node-0.57.tar.gz放入/opt目录下

cd /opt
tar zxvf mha4mysql-node-0.57.tar.gz
cd mha4mysql-node-0.57
perl Makefile.PL
make && make install

在 MHA manager 节点上安装 manager 组件

将软件包mha4mysql-manager-0.57.tar.gz放入/opt目录下

cd /opt
tar zxvf mha4mysql-manager-0.57.tar.gz
cd mha4mysql-manager-0.57
perl Makefile.PL
make && make install

#manager组件安装后在/usr/local/bin下面会生成几个工具,主要包括以下几个:

masterha_check_ssh 检查 MHA 的 SSH 配置状况
masterha_check_repl 检查 MySQL 复制状况
masterha_manger 启动 manager的脚本
masterha_check_status 检测当前 MHA 运行状态
masterha_master_monitor 检测 master 是否宕机
masterha_master_switch 控制故障转移(自动或者手动)
masterha_conf_host 添加或删除配置的 server 信息
masterha_stop 关闭manager

#node组件安装后也会在/usr/local/bin 下面会生成几个脚本(这些工具通常由 MHAManager 的脚本触发,无需人为操作)主要如下:

save_binary_logs 保存和复制 master 的二进制日志
apply_diff_relay_logs 识别差异的中继日志事件并将其差异的事件应用于其他的 slave
filter_mysqlbinlog 去除不必要的 ROLLBACK 事件

6、在所有服务器上配置无密码认证

ssh-keygen -t rsa 				#一路按回车键
ssh-copy-id 192.168.220.4
ssh-copy-id 192.168.220.5
ssh-copy-id 192.168.220.6

在这里插入图片描述
在主节点配置到从节点的无密码认证
ssh-keygen -t rsa
ssh-copy-id 192.168.220.5
ssh-copy-id 192.168.220.6

在一个从节点配置到主节点和另一个从节点的无密码认证
ssh-keygen -t rsa
ssh-copy-id 192.168.220.4
ssh-copy-id 192.168.220.6

在一个从节点配置到主节点和另一个从节点的无密码认证
ssh-keygen -t rsa
ssh-copy-id 192.168.220.4
ssh-copy-id 192.168.220.5

7、在 manager 节点上配置 MHA

cp -rp /opt/mha4mysql-manager-0.57/samples/scripts /usr/local/bin

#复制后会有四个执行文件
ll /usr/local/bin/scripts/

在这里插入图片描述

master_ip_failover 自动切换时 VIP 管理的脚本
master_ip_online_change 在线切换时 vip 的管理
power_manager 故障发生后关闭主机的脚本
send_report 因故障切换后发送报警的脚本

复制上述的自动切换时 VIP 管理的脚本到 /usr/local/bin 目录,这里使用master_ip_failover脚本来管理 VIP 和故障切换

MySQL数据库MHA高可用集群部署及故障切换(理论+实验) MySQL MHA一、MHA相关概念什么是 MHAMHA 的组成MHA 的特点二、MySQL+MHA部署实验①关闭系统防火墙和安全机制(全部服务器)②修改节点的主机名(Master、Slave1、Slave2)③修改三台MySQL服务器的主配置文件 一、MHA相关概念 什么是 MHA MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大程 阅读详情

相关推荐

mha4mysql-node-0.57.tar.gz

mha4mysql-node-0.57.tar.gz

mysql-mha0.57套件包含node,manger

mha套件其中包含 mysql-node.tar.gz,manger-node.tar.gz 参考安装:https://blog.youkuaiyun.com/Kevin_lew/article/details/84672474

MySQL MHA安装包

MySQL集群MHA所要的安装包。包括mha4mysql-manager-0.58.tar.gz, mha4mysql-manager-0.58-0.el7.centos.noarch.rpm, mha4mysql-node-0.58.tar.gz, mha4mysql-node-0.58-0.el7.centos.noarch.rpm, mha4mysql-manager-0.57.tar.gz, mha4mysql-manager-0.57-0.el7.noarch.rpm, mha4mysql-node-0.57.tar.gz, mha4mysql-node-0.57-0.el7等

mha4mysql-node-0.57

用于搭建MHA高可用,测试安装包可以运行,并且多次用次安装包安装成功

智能车实战——极速越野组GPS与惯导融合定位导航全解析

本文深入解析了智能车极速越野组中GPS与惯导模块的融合定位导航技术。通过对比GPS的全局定位与惯导的高频姿态感知,详细阐述了如何利用MM32SPN27主控,将两者数据融合以实现精准、实时的车辆控制。内容涵盖硬件选型、软件数据处理、PID控制及系统调试等实战环节,为智能车开发者提供了一套完整的解决方案。

pz8901234的博客 1203

基于卷积神经网络的人脸识别算法

摘要:近年来,随着科学技术的不断发展,人脸识别技术日渐成熟,使得人脸识别技术的使用率不断增大。例如:门禁、ATM机、公安系统以及新兴起的人机交互等领域,都应用到了人脸识别系统。在人脸识别研究领域中,深度学习扮演着重要的角色。由于深度学习的人脸识别技术凭借其识别率高、识别快等特点,逐渐成为整个领域的主流技术。在众多深度学习算法中,以卷积神经网络为代表的人脸识别系统得到了广泛应用,主要研究内容如下:首先,通过对经典损失函数进行研究,对比每种损失函数的特点,然后根据A-Softmax函数进行改进,借助Margin

yyq2263511327的博客 1万+

STM32F4实战:手把手教你实现USB OTG双模式切换(Host/Slave)

本文详细介绍了如何在STM32F4上实现USB OTG双模式切换(Host/Slave),包括硬件架构解析、软件实现机制、主机模式下的U盘读写以及从机模式下的自定义设备开发。通过实战案例和优化技巧,帮助开发者快速掌握USB双角色功能,提升嵌入式系统开发的灵活性和效率。

u9v0w的博客 729

软件自动化测试脚本如何编写,编写自动化测试脚本的几点注意事项

我们需要自动化测试脚本的原因:1、验收测试是一项非常复杂和费力的被用来确保软件质量的环节。它的目的就是使软件能得到充分运行并且能使其符合原始需求。2、测试的目的无非就是满足了两个结果:测试通过或测试不通过。为了能实现每个测试结果,必须要明确每个测试用例。并且对于整个系统而言在合同中必须定义测试用例的失败标准,而且这个失败标准数必须是可接受的。3、测试用例的通过条件必须有一个清晰的标准,标准可以被定...

weixin_39575775的博客 2251

Ubuntu技巧-Ubuntu远程访问之SSH反向代理

💡大家好,我是可夫小子,《小白玩转ChatGPT》专栏作者,关注AIGC、互联网和自媒体。要把内网的一台的Ubuntu服务器让外面也能访问,总共有三种可行的方案,前面已经介绍了两种方式,今天就来介绍更健壮稳定的方式——ssh反向代理。大概的框架图如下,今天就从服务器购买到设置,手把手的教程,让你花费100块以内,就拥有一个强大的「云服务器」。

可夫小子的频道 1151

车规级非易失存储选型指南:从AEC-Q100到ISO 26262的可靠性设计

非易失存储器是电子系统中负责长期保存关键数据与代码的核心组件,其可靠性直接决定了系统的长期稳定运行能力。在汽车电子领域,这一要求被提升到了极致,必须满足严苛的车规级标准。从原理上看,存储器的数据保持能力、擦写寿命等关键参数在高温、振动等恶劣环境下会急剧衰减,因此需要专门的设计与验证。其技术价值在于保障车辆全生命周期的功能安全与数据完整性,避免因存储失效导致的安全隐患或频繁维护。应用场景涵盖从发动机控制单元、自动驾驶域控制器到智能座舱的各类电子控制单元。本文聚焦于车规级非易失存储的选型,深入解析AEC-Q10

weixin_30938149的博客 457

Vue3 - 详细实现微信公众号H5网页内置浏览器中预览下载word文档(doc)、excel表格(xls)、ppt文稿、pdf文档等文件,微信内部直接打开预览和下载到本地教程,安卓苹果手机无差异兼容

vue3,nuxt3,微信公众号,h5,移动端,网页,网站,vue微信内置浏览器下载文件,下载文件,在微信浏览器里面实现下载任意文件,H5需要在微信浏览器中下载excel文件,实现网页在微信内置浏览器中下载文件详细教程,安卓点击下载会提示打开浏览器,后端返回流文件,如何解决无法下载文件,跳转至浏览器下载文件,发送到电脑微信,安卓,苹果,手机系统,微信H5页面,vue3微信公众号H5网站,内置浏览器下载文档,如何在微信浏览器中预览office文件,word文档,excel文档,pdf文档,ppt文档,offi

🏆 前端领域优质创作者 1万+

【MuJoCo】第一章 仿真环境的搭建与入门

它通过优化的接触动力学算法,能够高效处理复杂的多体交互,这使其成为从机械臂操控到足式机器人运动,再到大规模强化学习训练的理想选择。特别是与 JAX 集成的 MJX 的推出,将高性能仿真的边界推向了新的高度,使得在单台机器上并行数千个仿真环境成为可能。我们将通过编写您的第一个仿真程序,逐步拆解 MuJoCo 的工作流,让您亲手感受物理引擎的脉动。这种加速能力对于需要海量仿真样本的强化学习算法(如 PPO)是颠覆性的,它将原本需要数小时的训练缩短到几分钟。上的几何形状,用于碰撞检测和可视化。

u012133341的博客 368

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: MySQL高阶SQL语句(谁看谁麻)
下一篇: Squid传统、透明代理服务配置、日志分析、反向代理、ACL访问控制(图文详细到头了)
我有一瓢酒,可以慰风尘。
博客等级 码龄6年 34粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值