当前位置: 首页 > news >正文

​一些不规范的GTID使用场景

这是学习笔记的第 1987 篇文章


GTID是一种很不错的复制解决方案,但是在使用中还是碰到一些问题,经过整理我梳理了如下的一些不规范的GTID使用场景

l 从库可写

如果在从库端写入了数据,GTID_Set就包含两个源,在使用中可能会混淆,比较规范的方式是对从库开启只读模式,如果碰到数据修复的场景,我们可以使用sql_log)bin=0来临时修复。

l Purge binlog

GTID复制错误中很常见的就属这个错误了:

the master has purged binary logs containing GTIDs that the slave requires

如果主库端对于binary log的保留时间过短,同时主从网络链路的问题,都可能导致要应用的GTID事务已经在主库被清理。

l 复制模式为MASTER_AUTO_POSITION =0

如果我们开启了GTID,还是建议使用GTID协议的数据复制方式,如果依旧使用偏移量的复制方式,在主从切换的时候很容易出问题。

同时,在一些特殊的数据修复场景中,我们使用change master to xxx,master_auto_position=0;

配置复制关系时,语句不带relay_log_file和relay_log_pos选项都会导致relay log被清理,所以一组相对完整的语句为:

change master to master_user=[Master_user],master_port=[Master_port],master_host=[Master_Host],master_port=[Master_port],master_log_file=[Relay_Master_Log_File],master_log_pos=[Exec_Master_Log_Pos],relay_log_file=[Relay_Log_File],relay_log_pos=[Relay_Log_Pos],master_auto_position=0;

Change master master_auto_position=1;

l 在线启停GTID

官方明确说GTID是可以在线启停的,但是不建议在线做这样的操作,一来是维稳,因为这种操作的频率是很低的,不排除有一些复杂的bug,二来是对于配置GTID应该是统一的规划,反复变化说明管理是混乱的,一般建议在参数文件中配置后启动数据库。

l mysqldump导出导入可能导致从库混乱

l mysqldump会默认开启set-gtid-purged 选项,在导出的dump文件中会包含set @@gtid_purge=xxx的语句,如果在跨服务器环境中导入数据,可能导致操作失误而直接对主库做了reset master操作。

640?

相关文章:

  • MySQL表相关的数据字典梳理
  • 世界顶级的程序员们都在读哪些书?
  • 最近养了几只小乌龟
  • 周末充电学习的感悟
  • 重新理解我们的核心价值
  • MySQL中的并发控制概览
  • 孙小果案中四个人的人生
  • MySQL中需要重视的隐式转换
  • 数据生命周期管理的初步设计
  • 颠覆我们的,可能就是那些差不多的事情
  • 因子分析的一个小例子
  • 最近在读的文章
  • 简单线性回归分析
  • 2000天带给我的回忆
  • 建模能力是进阶的必备技能
  • [PHP内核探索]PHP中的哈希表
  • JS 中的深拷贝与浅拷贝
  • Android Studio:GIT提交项目到远程仓库
  • Angular4 模板式表单用法以及验证
  • js中forEach回调同异步问题
  • springboot_database项目介绍
  • SQLServer之索引简介
  • 产品三维模型在线预览
  • 蓝海存储开关机注意事项总结
  • 利用jquery编写加法运算验证码
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 再谈express与koa的对比
  • 追踪解析 FutureTask 源码
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 容器镜像
  • 组复制官方翻译九、Group Replication Technical Details
  • ​LeetCode解法汇总518. 零钱兑换 II
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #pragma multi_compile #pragma shader_feature
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (a /b)*c的值
  • (C语言)球球大作战
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计大学生兼职系统
  • (理论篇)httpmoudle和httphandler一览
  • (实战篇)如何缓存数据
  • (五)MySQL的备份及恢复
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .apk 成为历史!
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net 4.0发布后不能正常显示图片问题
  • .NET CF命令行调试器MDbg入门(一)
  • .net 反编译_.net反编译的相关问题
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET 使用 XPath 来读写 XML 文件
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)