位置: 编程技术 - 正文

MySQL5.7不停业务将传统复制变更为GTID复制的实例(mysql停不掉)

编辑:rootadmin

推荐整理分享MySQL5.7不停业务将传统复制变更为GTID复制的实例(mysql停不掉),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql服务无法停止,mysql停不下来,服务里的mysql一直停止,mysql57停止后起不来,服务里的mysql一直停止,mysql停不掉,mysql停不下来,mysql停不下来,内容如对您有帮助,希望把文章链接给更多的朋友!

由于GTID的优势,我们需要将传统基于file-pos的复制更改为基于GTID的复制,如何在线变更成为我们关心的一个点,如下为具体的方法:

目前我们有一个传统复制下的M-S结构:

port master

port slave

如下为在线变更的具体的操作步骤:

前提:

1.要求所有的mysql版本5.7.6或更高的版本。

2.目前拓扑结构中所有的mysql的gtid_mode的值为off状态。

3.如下的操作步骤都是有序的,不要跳跃着进行。

补充一下全局系统变量GTID_MODE变量值说明:

OFF 新事务是非GTID, Slave只接受不带GTID的事务,传送来GTID的事务会报错

OFF_PERMISSIVE 新事务是非GTID, Slave即接受不带GTID的事务也接受带GTID的事务

ON_PERMISSIVE 新事务是GTID, Slave即接受不带GTID的事务也接受带GTID的事务

ON 新事务是GTID, Slave只接受带GTID的事务

需要注意的是,这几个值的改变是有顺序的,即

off<--->OFF_PERMISSIVE<--->ON_PERMISSIVE<--->ON

不能跳跃执行,会报错。

step1:在每个mysql实例上,将ENFORCE_GTID_CONSISTENCY设置为warning,哪台先执行不影响结果。

MySQL5.7不停业务将传统复制变更为GTID复制的实例(mysql停不掉)

注意:执行完这条语句后,如果出现GTID不兼容的语句用法,在错误日志会记录相关信息,那么需要调整应该程序避免不兼容的写法,直到完全没有产生不兼容的语句,可以通过应该程序去排查所有的sql,也可以设置后观察错误日志一段时间,这一步非常重要。

step2:在每个mysql实例上,设置ENFORCE_GTID_CONSISTENCY为ON,哪台先执行不影响结果

在第一步完成后,就可以将值设置为on。

step3:在每个mysql实例上,设置GTID_MODE为off_permissiv;哪台先执行不影响结果

step4:在每个mysql实例上,设置GTID_MODE为on_permissiv;;哪台先执行不影响结果

step5:在每个mysql实例上检查变量ONGOING_ANONYMOUS_TRANSACTION_COUNT

需要等到此变量为0

step6: 确保所有的匿名事务(非GTID事务)已经被完全复制到所有的server上。

检查方法:

检查这两项Relay_Master_Log_File的值大于binlog.,

或者等于Relay_Master_Log_File等于binlog.并且Exec_Master_Log_Pos的值大于等于即可

或者slave直接用函数:

返回结果大于等于0就说明匿名事务已经全部复制完成

step7: 确认整个拓扑结构中已经没有匿名事务的存在,如之前产生的所有匿名事务已经全部被执行完毕,甚至二进制日志中也不要有匿名事务,可以通过flush logs,并让mysql来自动清理旧的二进制日志文件。

step8: 在每个mysql实例上,设置GTID_MODE为on,

step9: 在每个mysql实例的配置文件my.cnf上,增加gtid-mode=ON

验证:

至此完成从传统复制到GTID复制的在线转换。

以上这篇MySQL5.7不停业务将传统复制变更为GTID复制的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

MySQL PXC构建一个新节点只需IST传输的方法(推荐) 需求场景:原有的pxc环境数据量已经比较大,新买的服务器要加入此集群中,如何让其用IST的方式传输,而不是SST.PXC传输数据有两种方式:IST:Incrementa

Mysql GTID Mha配置方法 Gtid+Mha+Binlogserver配置:1:测试环境OS:CentOS6.5Mysql:5.6.Mha:0...1.mysql1M..1.mysql2S..1.mysql3S2Mhamanage、Binlogserver2:配置/etc/my.cnf相关参

innodb_flush_method取值方法(实例讲解) innodb_flush_method的几个典型取值fsync:InnoDBusesthefsync()systemcalltoflushboththedataandlogfiles.fsyncisthedefaultsetting.O_DSYNC:InnoDBusesO_SYNCtoopenandflushthelogfiles,andfsync()toflushth

标签: mysql停不掉

本文链接地址:https://www.jiuchutong.com/biancheng/349956.html 转载请保留说明!

上一篇:查看当前mysql使用频繁的sql语句(详解)(mysql查看当前执行的sql)

下一篇:MySQL PXC构建一个新节点只需IST传输的方法(推荐)

  • 借款合同怎么做
  • 员工出差自驾怎么看待
  • 采购普通发票和专用发票的区别
  • 管理费用贷方有哪些递减
  • 异地预缴税款怎么抵扣
  • 做账要不要入库单和出库单
  • 社保基数与工资不符
  • 固定资产怎么确认是不是投入使用了
  • 化妆品的成本利润是多少
  • 公司挂靠有资质的企业公司会计处理
  • 新税法下广告费计税依据
  • 企业纳税总额包含哪些
  • 应交增值税计提表表格
  • 单位给员工交社保怎么交怎么计算
  • 先入库发票未到分录
  • 生产性生物资产包括哪些
  • 收到专票有误,已跨月未认证,销售方不红冲咋办
  • 企业收到政府扶贫资金补助及运用补助金怎么做账
  • 事业单位接受捐赠的货币资金在财务会计中确认捐赠收入
  • 员工给公司代垫的款项分录
  • 企业所得税汇算清缴表
  • 使用u盘安装linux
  • 新版mac如何连接iphone
  • pos机刷卡怎么做账务处理
  • 民间非营利组织会计报表
  • linux 硬盘满了
  • 基于php实现简单函数
  • 可抵免境外所得税税额
  • 解决的英文
  • 常用的前端大屏软件
  • 固定资产售卖的账务处理
  • 搭建自己的php框架
  • php截取文件后缀名方法
  • php生成压缩包
  • laravel框架关键技术解析
  • phpsession和cookie
  • 增值税抄税报税流程
  • php 输出
  • 给最爱的他
  • wordpress jquery
  • 其他综合收益核算的是企业根据企业会计准则
  • 商誉 减值
  • 法人股东分红要缴纳多少税
  • vue this.$el
  • dedecms使用教程
  • 研发人员旅游能计入研发费用吗
  • 所得税费用期末结转吗
  • 现金日记账应采用的格式为订本式
  • sql效率优化
  • 经审计的财务报表是否要会计师事务所盖章
  • 信用卡的还款方式怎么查
  • 企业所得税汇算清缴操作流程
  • 以红字冲回
  • 公司债券分为
  • 跨年发票如何做会计分录
  • 建行E信通贴现需要发票吗
  • 购买产品样品计入什么科目
  • 开票信息指的是买方还是卖方
  • 免于填报什么意思
  • bios cmos设置
  • 联想笔记本bios设置启动顺序
  • Linux系统中的pycharm怎么打开
  • win80x0000007b修复
  • win10系统玩英雄联盟可以吗
  • win10不能玩qq堂没反应
  • unity发布exe
  • rotation 与vector3乘积关系
  • Default style sheet for HTML 4
  • cocos2dx-js
  • 浅析Javascript ES6中的原生Promise
  • shell字符串操作
  • Python heapq使用详解及实例代码
  • jquery遍历数组的方法
  • javascript如何学
  • js编写一个标准的单例模式类
  • python内置数据结构有哪些
  • 国家税务总局河南省税务平台
  • 河南电子税务局官网app
  • 员工离职了个人所得税年度汇算应申报未申报怎么处理
  • 浙江国地税联合申报系统官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设