高可用MySQL MHA介绍
MySQL MHA介绍
MHA简介
MHA在生产环境的作用
- Master必须发出的ID=102的binlog
- 还要消除各个Slave之间的差异性
MHA架构
MHA原理
MHA的主要特性
- 从master的监控到故障转移全部都能自动完成,故障转移也可手动执行
- 可在秒级单位内实现故障转移
- 可将任意Slave提升至master
- 具备在多个点上调用外部脚本(扩展)的技能,可以用在电源OFF或者IP地址的故障转移上。
- 安装和卸载不用停止当前的mysql进程
- MHA 自身不会增加服务器负担,不会降低性能,不用追加服务器
- 不依赖Storage Engine
- 不依赖二进制文件的格式(不论是statement模式还是Row模式)
拓展性
- seconary_check_script
- 调用该脚本,从多个网络路径判断MASTER是否宕机
- MASTER连接错误时会被调用
- MHA标配的脚本masterhaseconarycheck方便
- shutdown_script
- 电源强制OFF等
- 故障转移前的瞬间被调用
- SSH可以链接到的情况下mysqld,mysqld_safe强制kill,ssh连不到的情况下关闭电源
- master_ip_failover_script
- MASTER的IP地址更新,新建和应用程序连接所需要的用户
- 故障转移前的瞬间和转移到新MASTER(差异反映结束后)被调用
- 根据用途的不同来写脚本可以实现不需要更改应用程序端就可以连接到新的MASTER
- MASTER IP使用虚拟IP的场合
- report_script 发邮件通知故障转移成功或失败等的详细情况
- 故障转移结束后被调用
案例分析
- 在DeNA的服务中(主要是社交游戏),针对有超过150组(对)MASTER/SLAVE的服务器引入MHA
- MySQL一般不会出现服务宕机,通常是由OS和H/W故障引起
- 拓展
检测MASTER是否宕机
强制宕机MASTER
- 针对OS挂掉的故障转移,检测系统是否挂掉需要10秒,故障转移仅需4秒
判定是否可以进行故障转移
故障转移处理
- 强制将显著的MASTER关机
- SSH可以连接到的情况下,将有差异的二进制日志保存下来
- 确定新MASTER
- 将重新MASTER的IP地址有效化
- 重开其他的SLAVE从新的MASTER之间的主从复制
准备工作
一个可以写的MASTER和多个SLAVE或只读MASTER
- 只允许有一个MASTER(可写)。在其他MASTER上必须设置MySQL全局变量”read-only=1″
- 缺省情况下,所有被管理的服务器(在配置文件中定义的服务器)应该是2层级联复制。
管理3层或更多曾的及联复制环境
- 在MHA的配置文件中设置MASTER和二层级联中的主机(MASTER1和MASTER2)
- 使用multi_tier_slave=1 参数并在MHA配置文件中设置所有主机。
MySQL5.0或更高的版本
在候选MASTER 上必须开启log-bin
在所有服务器上二进制日志和中继日志过滤规则必须一致
在被选MASTER上必须存在具有复制权限的用户
高可用MySQL MHA介绍相关推荐
- mysql高可用方案MHA介绍
mysql高可用方案MHA介绍 概述 MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常10-30秒内),完成故障切换,部署MHA, ...
- 【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡
文章目录 一.MHA+ProxySQL架构 二.快速搭建MHA环境 2.1 下载MHA镜像 2.2 编辑yml文件,创建MHA相关容器 2.3 安装docker-compose软件(若已安装,可忽略) ...
- mysql mha好吗_MySQL高可用方案MHA的一些总结和思考
原标题:MySQL高可用方案MHA的一些总结和思考 MySQL高可用方案中MHA绝地是一个相当成熟的实现.对于数据的切换,其实MGR也能很好的完成,也就是说,数据层面的角色切换已经刻意很平滑的做好了, ...
- 搭建MySQL高可用架构MHA
搭建MySQL高可用架构MHA v1.0 MHA简介 MHA的主要目的是自动化master故障转移和slave自动提升为master,在较短时间(一般为10-30秒)的停机时间,可以避免复制和一致性问 ...
- MySQL高可用架构MHA
简介 MHA目前在MySQL高可用方面是一个相对成熟的解决方案 MHA是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件 MHA由两部分组成: MHA Manager(管理节点) ...
- MySQL高可用之MHA
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司 youshimaton(现就职于Facebook公司)开发,是一套优 ...
- 搭建pxc集群时需要先安装mysql么_完美起航-高可用MySQL数据库之PXC集群
高可用MySQL数据库之PXC集群 前言 在上一篇文章介绍了时下流行的几种数据库产品后(公众号发送"NewSQL"查看),有不少小伙伴表示对自动集群的数据库感兴趣,特别是Cockr ...
- 《高可用MySQL》2 – 单机版MySQL主从配置
这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave.没有不论什么的热机备份和多slave),该主从结构的基本拓扑图例如以下所看到的: 建立主要的主从复制能够总结为下面三个基本步骤 ...
- 二进制安全与MySQL的关系_《高可用MySQL》节选 -- 安全和二进制日志
<高可用MySQL>P59 安全和二进制日志 一般来说,一个有REPLICATION SLAVE权限的用户拥有读取Master上发生的所有事件的权限,因此为了确保安全应使该账户不被损害.这 ...
最新文章
- 【转】apache常用配置
- nf_hook_slow函数
- System.Diagnostics.Process启动Civil 3D及AutoCAD
- TensorFlow与主流深度学习框架对比
- Oracle Awr
- 图灵原版计算机科学系列,图灵原版计算科学系列
- SAP CRM WebClient UI的搜索条件是怎么渲染出来的
- Java泛型简介–第6部分
- 【XSY2307】树的难题
- 就等android了
- c#string类型探讨
- 驾驶证/行驶证信息提取与识别
- XP下通过NetMeeting实现桌面共享视频会议
- Linux静态库和动态库区别
- 广东省2021年夏季新冠疫情期间中医治未病指引
- Jmeter性能测试-插件
- idea 有时提示找不到类或者符号
- host文件位置 修改ip映射地址
- bzoj 1123: [POI2008]BLO(Trajan求割点)
- 构建Lua解释器Part8:构建完整的语法分析器(下)
热门文章
- 计算机大赛横幅标语有趣的,有趣的横幅标语
- python基础入门(2)
- 【OpenCV 例程200篇】09. 图像的裁剪(cv2.selectROI)
- java scanner转string,Java InputStream to String 转化
- python docker_Docker实践:python应用容器化
- 数据库MySQL/mariadb知识点——数据类型
- web前端到底是什么?有前途吗
- Loadrunner进行HTTPS协议性能测试
- OpenCV 2 学习笔记(9): 定义ROI(regions of interest):给图像加入水印
- android屏幕基础知识