今天在公司的工程环境中做了个案例,手动切换关闭主库的mysql服务,从库上升为主库之后,发现主库处于read_only状态,通过高可用的组件观察了剩余主从库的alive以及delay的状态发现均正常。由于处于公司的内网环境中,所以就没有保存图片,就通过文字的方式记录下今天这个案例。

环境:mysql5.7.18 一主两从 做了高可用

操作步骤:通过高可用组件发现三台mysql的主从关系,alive,delay均为正常状态,登录主库所在的主机进行关闭数据库服务,正常情况下,关闭主库之后,一个从库上升为新主,另一台同时为主库形成一主一从的架构。但是,实际结果为一个从库上升为主库,但是处于read_only状态;另一台从库还是和旧主同步,因为旧主已经关闭,所以存在主从同步异常。

处理过程:通过分析,新主置于read_only状态的原因为:主从切换之后,从库上升为新主,但是存在主从同步异常,此时只有一个主库的架构,所以新主为read_only状。此时的处理方法为将旧主服务启动,这样就能形成主从关系,新主就不会为read_only状态。启动完旧主之后(它与新主之后有个gtid比对的过程,多与新主则flashback闪回),与新主形成主库关系,发现另一个从库与新主没有形成主从关系,通过查看从库show slave status记下gtid和查看主库show master status的gtid,发现两个数据库之间的gtid的不一致。所以就通过reset slave all从库然后再将set_purge置于主库的gtid,然后start slave。发现主从关系正常。最后通过自己手动切换主从关系,查看是否还存在主从关系异常的状况,发现无异常。

总结:以后在做手动切换主从之类的操作,应该谨慎比对主从之间的gtid的值,发现不一致时应该不操作,需等到gtid一致或相差较小的时再做主从切换。
---------------------
作者:jh993627471
来源:CSDN
原文:https://blog.csdn.net/jh993627471/article/details/79704939
版权声明:本文为博主原创文章,转载请附上博文链接!

mysql5.7切换导致gtid不一致的更多相关文章

  1. MySQL5.7配置基于GTID的复制

    MySQL5.7下配置GTID复制的方法: 修改主库和从库的配置文件,加入下列部分的配置项:主库:[mysqld]log-bin=mysql-binbinlog_format= ROWgtid-mod ...

  2. mysql change master导致gtid丢失

    change master导致gtid丢失从innobackupex恢复导致binlog的拉取位置会导致主备gtid不一致.此类错误通过构造空事务方式无法修复.此时就需要change master 方 ...

  3. [转帖]进程上下文频繁切换导致load average过高

    进程上下文频繁切换导致load average过高 2016年6月26日admin发表评论阅读评论 http://www.361way.com/linux-context-switch/5131.ht ...

  4. MySQL5.6:基于GTID的主从复制

    一.GTID简介 MySQL 5.6 的新特性之一,是加入了全局事务 ID (GTID) 来强化数据库的主备一致性,故障恢复,以及容错能力. 什么是GTID? 官方文档:http://dev.mysq ...

  5. MySQL5.7.18基于GTID的主从复制过程实现

    GTID是5.6时加入的,在5.7中被进一步完善,生产环境建议在5.7版本中使用.GTID全称为Global Transaction Identifiers,全局事务标识符.GTID的复制完全是基于事 ...

  6. 切换-5.7-传统复制切换成GTID复制

    1.基本环境:     Master Slave MySQL版本 MySQL-5.7.16-X86_64 MySQL-5.7.16-X86_64 IP 192.168.56.156 192.168.5 ...

  7. MySQL MHA--故障切换模式(GTID模式和非GTID模式)

    GTID和非GTID故障切换模式选择 MySQL 5.6版本引入GTID来解决主从切换时BINLOG位置点难定位的问题,MHA从0.56版本开始支持基于GTID的复制,在切换时可以采用GTID模式和非 ...

  8. mysql5.7.26 基于GTID的主从复制环境搭建

    简单工作原理: (1)从库执行 change master to 语句,会立即将主库信息记录到master.info中 (2)从库执行 start slave语句,会立即生成IO_T和SQL_T (3 ...

  9. 界面使用webview,并且webview里面有图片进行自动切换导致界面上滚动条卡顿。

    最近的项目是用webview做的界面,但是在界面顶端加了android本地动画效果的横向滚动条.当webview里面的图片切换时导致滚动条动画卡顿. 1:setLayerType(View.LAYER ...

随机推荐

  1. LinkedBlockingQueue与ArrayBlockingQueue

    阻塞队列与普通的队列(LinkedList/ArrayList)相比,支持在向队列中添加元素时,队列的长度已满阻塞当前添加线程,直到队列未满或者等待超时:从队列中获取元素时,队列中元素为空 ,会将获取 ...

  2. OpenShift环境中手工模式添加etcd server

    模拟备份和恢复,在现有的集群环境,单master(etcd), infra和node上面添加另外一台机器作为etcd Server. 基于OpenShift 3.11版本,详情可以参考 https:/ ...

  3. LeetCode_447. Number of Boomerangs

    447. Number of Boomerangs Easy Given n points in the plane that are all pairwise distinct, a "b ...

  4. [图片问答]LODOP打印的行间距字间距

    LODOP可以打印纯文本,也可以是超文本,关于哪些打印项是纯文本,哪些打印项是超文本,之前有博文相关介绍:LODOP中的纯文本和超文本打印项. 之前的关于纯文本的行间距字间距介绍:Lodop设置文本项 ...

  5. [LeetCode] 714. Best Time to Buy and Sell Stock with Transaction Fee 买卖股票的最佳时间有交易费

    Your are given an array of integers prices, for which the i-th element is the price of a given stock ...

  6. Graphviz(01) notepad++ Run xxx.gv

    1.新建文件dot.bat 放到 d:\,内容如下: set gvname=%% @echo '"d:\dot.bat" "$(FULL_CURRENT_PATH)&qu ...

  7. jenkins回滚之groovy动态获取版本号

    grovvy调试: 部署路径确定下来, 每个服务写死,传参 服务名 + 环境 给版本服务返回版本信息: groovy取分支: def gettags = ("git ls-remote -h ...

  8. spring的面试

    IOC IOC(Inversion Of Controll,控制反转)是一种设计思想,将原本在程序中手动创建对象的控制权,交由给Spring框架来管理.IOC容器是Spring用来实现IOC的载体,I ...

  9. 聊一聊,React开发中应该规避的点

    原文永久链接: https://github.com/AttemptWeb..... 下面说到的React开发中注意的问题,部分是自己遇到过的点,部分是收集的,也算是React代码优化部分,这次做一个 ...

  10. charles4.0 request和response的显示设置

    点击右上角的设置按钮 点击preferences 切换到viewers,取消勾选Combine request and response,点击保存即可