一、目的

实现在mysql高可用集群的VIP切换,不涉及数据补偿

二、基础环境

python3.0+

三、具体三大部分

1、启动条件检测检测集群是否down机 方式 select 1

检测主库是否有VIP绑定 方式是 采用vip进行连接

检测从库是否正常复制和延迟

检测从库是否开启binlog中继日志写入

检测集群是否已经开启了增强半同步方式

检测集群是否开启了GTID复制

2、高可用切换流程主库down机 如果失败则进行尝试三次进行判定

摘掉原主VIP,如果能进行SSH登录的话

从slave节点中选择新主 判断方式

打开new master节点读写功能

new master上绑定VIP

在日志中生成change语句

发送报警邮件

3、新主判定条件选择集群从库加入选举组,条件是sql_thread 状态为YES

根据集群的成员对比 binlog(name and postion) 进行排序,选择头部成员

对新主进行进一步判定,判定条件为second_master_behind

如果为0,确保sql_thread已应用完全部relay-log

第三步判断成功,则针对新主采取以下操作:

set global read_only= off 关闭读写

ifconfig vip 绑定VIP

四、相关注意点

1、云环境和多实例环境并不适合VIP环境,所以此文章不适用,不过大体原理相同

2、数据补偿依赖增强半同步复制,这是必须的

3、在绑定VIP之前需要arpping VIP,防止出现脑裂问题

4、采用一个集群启动一个进程方式,防止出现问题互相影响,当然如果你的python能力很高,可以随意改造

5、监控好你的从库健康情况,防止高可用切换的时候无健康从库可用

五、关于应用场景情况

1、对于集群都出现延时的情况比较少见

2、一旦发生这种情况而又导致切换

重要场景 会坚持relay-log应用完才会进行切换,业务响应排后

非重要场景 不考虑relay-log应用情况进行直接

六、总结

本文章只是提供一个思路,如有意见可以联系本人进行修订

七、切换日志图示

本文选自知数堂学员-邓志航的文章;

邓志航,MySQL DBA,天生的MySQL爱好者,热衷于为他人解决问题,善于总结和分享。

对数据平台构建和排查疑难问题有非常浓厚的兴趣

公众号:知数堂,更多MySQL干货知识,关注公众号获取。

mysql vip_MySQL高可用集群的VIP切换相关推荐

  1. keepalived+MHA实现mysql主从高可用集群

    本节索引 原理分析 实验环境准备 主从复制集群 安装MHA包 初始化MHA 配置Keepalived 故障出现 故障恢复 总结 一 原理分析 1 MHA简介: MHA(Master High Avai ...

  2. MySQL MHA高可用集群部署及故障切换(图文详解)

    文章目录 MySQL MHA 一.MHA概念 1.MHA 的组成 2.MHA 的特点 二.搭建MySQL+MHA 实验思路 实验环境.安装包 1.所有服务器,关闭系统防火墙和安全机制 2.修改 mas ...

  3. MySQL数据库高可用集群搭建-PXC集群部署

    Percona XtraDB Cluster(下文简称PXC集群)提供了MySQL高可用的一种实现方法.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上. PXC原理描述: 分布式 ...

  4. Mysql+MHA高可用集群

    http://www.ttlsa.com/mysql/step-one-by-one-deploy-mysql-mha-cluster/ 转载于:https://www.cnblogs.com/cci ...

  5. keepalived vip mysql_mysql+keepalived高可用集群

    mysql+keepalived高可用集群 我们了解在LVS集群当中,LVS是整个机群的唯一入口!如果LVS出现故障的话,那么整个集群都将无法访问!像这种重要的服务器只有一台服务器在工作的情况,如果出 ...

  6. nfs mysql_heatbeat-gui实现基于nfs的mysql高可用集群

    一.简述HA高可用集群 高可用集群就是当集群中的一个节点发生各种软硬件及人为故障时,集群中的其他节点能够自动接管故障节点的资源并向外提供服务.以实现减少业务中断时间,为用户提供更可靠,更高效的服务. ...

  7. 18.1 集群介绍 18.2 keepalived介绍 18.3/18.4/18.5 用keepalived配置高可用集群

    2019独角兽企业重金招聘Python工程师标准>>> 第十八章 Linux集群 18.1 集群介绍 Linux集群根据功能划分为两大类:高可用和负载均衡. 高可用集群 高可用集群通 ...

  8. 基于rhcs套件实现的高可用集群

    1.基于rhcs套件实现nginx平台的高可用集群 实验环境: 1> server1 server5 集群节点为了节省节点我们还用了server1作为管理节点安装了luci图形管理: 2> ...

  9. 18.3/18.4/18.5 用keepalived配置高可用集群

    2019独角兽企业重金招聘Python工程师标准>>> 用keepalived配置高可用集群 准备两台机器130和132,130作为master,132作为backup 两台机器都执 ...

最新文章

  1. jQuery - AJAX 简介
  2. 汇编语言--转移指令的原理
  3. mybatis 无法初始化类_从零开始手写 mybatis(一)MVP 版本
  4. 微信计步器怎么不计步_难以关闭的微信朋友圈广告
  5. oracle form中实现隐藏,Oracle Form数据块实现同时只有一个人锁定修改数据
  6. ./configure会报错:pr command not found
  7. pandas 替换 某列大于_Pandas简单入门 1
  8. SpringBoot解决redirect参数中文乱码问题
  9. 博士导师总结目标检测、卷积神经网络和OpenCV学习资料(教程/PPT/代码)
  10. 【方案分享】地产项目2022年新春1月系列暖场活动策划方案:新年置业,如虎添翼.pptx(附下载链接)...
  11. java把字体做成滚动的_Scroll text - JS实现文字自动循环滚动效果
  12. Spring mybatis源码篇章-XMLLanguageDriver解析sql包装为SqlSource
  13. 撸羊毛的一些心得体会
  14. 计算机中内存、cache和寄存器之间的关系及区别
  15. 数据仓库建设之总线矩阵/总线架构
  16. AutoPatch java_《Oracle Applications DBA 基础》5- AD 工具 and patching
  17. Head First 系列图书资源-PDF网盘下载(更新中)
  18. Springboot---Model,ModelMap,ModelAndView
  19. js: 动画 筋斗云导航栏 仿淘宝关闭二维码
  20. 中国单反数码相机市场现状动态及前景规模调查报告2022-2028年版

热门文章

  1. springmvc json 406
  2. 算法学习(五)---队列
  3. Enterprise Library 2.0 Hands On Lab 翻译(1):数据访问程序块(一)
  4. intel的linux证书过期,rhce证书过期了可以怎么办
  5. 机器学习实现计算不规则图形面积_人教版小学数学五年级上册解决问题(不规则图形的面积)公开课优质课课件教案视频...
  6. html li 怎么合并,HTML—CSS-case(合并boder / 滑动门 / 去除li边框 /css三角形原理)...
  7. linux虚拟单用户数,Linux单用户模式
  8. 栈和堆存储在计算机RAM中,堆内存和栈内存及C++内存分配
  9. rsa加密算法java实例,java实现的RSA加密算法详解
  10. c语言50行以内有趣的代码,分享一段有趣的小代码