深圳全飞鸿

标题: 协XC-MES数据库standby异常的过程记录 [打印本页]

作者: zhgc    时间: 2019-11-14 16:58
标题: 协XC-MES数据库standby异常的过程记录
2019/11/19
CRC平台收到异常报警


查看standby数据,显示是1062异常




于是开始着手处理问题。但一开始就走错了方向!

首先改了属性sql_slave_skip_counter
  1. set global sql_slave_skip_counter=10;
复制代码


在stop slave 再 start slave后,发现问题并没有解决,而且引发了新的不可能解决的新问题!

报错如下:


sfc.p_tmp200_t这个表是临时表,改sql_slave_skip_counter跳过报错的时候,同时也跳过了创建临时表的SQL

这样应该是无解了,因为生产线如果不重开软件,不会再次创建临时表sfc.p_tmp200_t,而且产线还在持续以sfc.p_tmp200_t为条件更新数据

至此,主备数据库数据不一至的情况已经发生。

而且后面一定会有大量的1032报错,解一个1062的问题变成1032和1146两个问题了

临时解决1146的问题(实际只能等产线重开软件)

在standby的my.ini中加入以下,并重启mysql服务
slave-skip-errors=1062



解决1032的问题
看slave_exec_mode的值 :

做如下修改


  1. set global slave_exec_mode='IDEMPOTENT';
  2. stop slave;
  3. start slave;

复制代码




留 下两个未解的问题:

1、为什么 会出现主备standby时的key dup异常?
2、  sql_slave_skip_counter感觉是坑,什么 时候有用?






欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/) Powered by Discuz! X3.2