刚刚接到报警短信,从库宕机,马上通知机房重启,在检查MySQL时,发现同步挂了,报主键冲突,询问开发是不是有往里面写数据,回答没有。这就奇怪了,怎么会无缘

刚刚接到报警短信,从库宕机,马上通知机房重启,在检查MySQL时,发现同步挂了,报主键冲突,询问开发是不是有往里面写数据,回答没有。

这就奇怪了,怎么会无缘无故报错呢?在检查了my.cnf配置文件,发现有个参数没有配置:innodb_overwrite_relay_log_info = 1

当从库宕机后,重新开启主从复制同步,它可以重新执行已提交事务,这样就会造成同步失败,而这个参数就会避免这个问题的出现。

当开启了这个参数后....

+ InnoDB: Warning: innodb_overwrite_relay_log_info is enabled. Updates of other storage engines may have problem of consistency.

+ InnoDB: relay-log.info is detected.

+ InnoDB: relay log: position 429, file name ./gauntlet3-relay-bin.000111

+ InnoDB: master log: position 280, file name gauntlet3-bin.000015

....

InnoDB: Starting crash recovery.

....

InnoDB: Apply batch completed

+ InnoDB: In a MySQL replication slave the last master binlog file

+ InnoDB: position 0 468, file name gauntlet3-bin.000015

+ InnoDB: and relay log file

+ InnoDB: position 0 617, file name ./gauntlet3-relay-bin.000111

090205 17:41:31 InnoDB Plugin 1.0.2-3 started; log sequence number 57933

+ InnoDB: relay-log.info have been overwritten.

....

090205 17:41:31 [Note] Slave SQL thread initialized, starting replication in log ``gauntlet3-bin.000015`` at position 468, relay log ``./gauntlet3-relay-bin.000111`` position: 617

已经执行完的Position点:master log: position 280, file name gauntlet3-bin.000015

在恢复时它内部会检测到280这个点已经执行完毕,从下一个点468开始同步,并且重写relay.info文件,,确保了主从同步正确。

建议在从库上添加,如果是官方MySQL,参数是relay_log_recovery=1

具体请参考:

本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

Mysql从库主键卡住_从库宕机引发的主键冲突相关推荐

  1. mysql 主键自增_还再使用数据库自增主键吗?

    加油站: 在数字经济时代,数据的重要性堪比石油.大数据的四个特点:Volume(数据体量大).Variety(数据类型繁多).Velocity(处理速度快).Value(商业价值高),只要合理利用数据 ...

  2. mysql即是主键又是外键怎么写_请问 sql 字段 可不可以 即是主键又是外键

    展开全部 可以,这说明这两张表的主键相关联,只是那张是主表(就是32313133353236313431303231363533e58685e5aeb931333433656133该表的主键作为从表的 ...

  3. 新增一个主键自增长_为什么InnoDB宜用自增主键

    前言 领导:既然自增数字主键会导致主备同步时主键冲突,自增主键能不能砍掉? 答:自增主键主要是技术上提升效率,键冲突可以考虑备库插入时不指定主键值,或者binlog改成row模式,而且, 公司规范:如 ...

  4. MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析...

    文章出处:http://inter12.iteye.com/blog/1430144 MYSQL的全表扫描,主键索引(聚集索引.第一索引),非主键索引(非聚集索引.第二索引),覆盖索引四种不同查询的分 ...

  5. mysql主从复制安装部署配置操作步骤及主从库宕机处理办法

    mysql主从复制安装部署配置操作步骤及主从库宕机处理办法 大家好,我是酷酷的韩~ 1.前期准备 (1)首先需要准备至少两台mysql 这里方便演示,用了两台虚拟机 环境是centos7 主: 172 ...

  6. mysql中什么是表?列?行?什么是主键和外键?什么是索引?为什么要使用索引?

    mysql中什么是表?列?行? 在关系数据库中,表(Table)是数据的主要组织单元.它是由一组命名的列和行组成,用于存储和组织数据. 列(Column)是表中的一个字段,用于存储特定类型的数据.每个 ...

  7. server的自增主键返回函数 sql_mybatis+sqlserver中返回非自增主键

    首先把实体类贴出来(这里只贴出属性,其它的就是getter和setter方法): public class Around { private String xccd;  //对应主键 private ...

  8. insert into select 主键自增_springboot2结合mybatis拦截器实现主键自动生成

    点击上方蓝字关注我们 1 01 前言 前阵子和朋友聊天,他说他们项目有个需求,要实现主键自动生成,不想每次新增的时候,都手动设置主键.于是我就问他,那你们数据库表设置主键自动递增不就得了.他的回答是他 ...

  9. 【华为云技术分享】MongoDB经典故障系列四:调整oplog大小,引起从库宕机怎么办?

    一不小心调整了自建MongoDB数据库的oplog大小,从而引起从库宕机怎么办?别急,华为云数据库给您支招:一是取消延迟配置,先扩容延时从库的oplog大小,再扩容主库的oplog:二是对主库先降级再 ...

最新文章

  1. IntelliJ IDEA 的Project structure说明
  2. TensorFlow入门(三)多层 CNNs 实现 mnist分类
  3. iOS根据Debug和Release状态的变化来屏蔽日志输出
  4. atitit.ajax bp dwr 3.的注解方式配置使用流程总结.....
  5. 排序之选择排序:简单选择+堆排序
  6. 区块链/比特币基础知识
  7. velocity 教程
  8. Kate:Linux下自动检测文件编码的编辑器
  9. Julia的学习资料从哪里找?
  10. SCVMM 2012 R2---添加Hyper-V虚拟机
  11. LiveGBS国标GB/T28181流媒体平台华为IPC设备GB35114配置接入说明
  12. 在html显示php代码,html跳转php只显示源代码
  13. 让一台电脑死机至少需要几行代码
  14. IDEA打包springboot项目为war并发布到tomcat服务器
  15. 【网络hcip】ospf学习 总结
  16. 冷战背景下的计算机,袁岚峰:鼓吹科技冷战,格调太低
  17. 解决方案和产品经理的异与同
  18. 高度自律是一种怎样的体验(一)(转自知乎)
  19. 自控力lesson25书摘——如何避免错误的选择
  20. 安卓内存监控apk,Android程序员如何有效提升学习效率?深夜思考

热门文章

  1. leetcode 373. Find K Pairs with Smallest Sums | 373. 查找和最小的K对数字(小根堆)
  2. leetcode 237. 删除链表中的节点(左神算法:一种怪异的节点删除方式、此方法存在的问题分析)
  3. dart系列之:和null说再见,null使用真实实践
  4. 网络协议之:一定要大写的SOCKS
  5. redis学习之数据结构与对象(一)
  6. 搜索引擎设计实用教程(1)-以百度为例
  7. 9行代码满分 【C语言】 L1-062 幸运彩票 (15分)
  8. 绝对布局优势_街电福建全场景布局持续深化,构建全时续电服务强化行业领先优势...
  9. linux(ubuntu)新建用户只有一个$问题,Ubuntu新建用户并指定目录
  10. shell脚本(五)——函数的格式、传参、变量、递归、函数库