【 TiDB 使用环境`】生产
【 TiDB 版本】5.0.3 PD + 5.1.1其他,升级卡死后导致
【遇到的问题】生产环境ticdc失败后想做次br全量同步,没有测试环境
【复现路径】很多表会不断删除再写入新数据,导致cdc压力比较大
【问题现象及影响】TiCDC经常断
目前不想解决pd和其他组件版本不一致的问题,也不想在ticdc上纠结,只是想了解1)ticdc失败后不清除旧数据,直接br全量还原是否会导致数据重复,2)如果多次br全量,后面的数据是否会重复。
非常感谢!
【 TiDB 使用环境`】生产
【 TiDB 版本】5.0.3 PD + 5.1.1其他,升级卡死后导致
【遇到的问题】生产环境ticdc失败后想做次br全量同步,没有测试环境
【复现路径】很多表会不断删除再写入新数据,导致cdc压力比较大
【问题现象及影响】TiCDC经常断
目前不想解决pd和其他组件版本不一致的问题,也不想在ticdc上纠结,只是想了解1)ticdc失败后不清除旧数据,直接br全量还原是否会导致数据重复,2)如果多次br全量,后面的数据是否会重复。
非常感谢!
把cdc同步停了,等你br备份恢复完之后重新开cdc
1)ticdc失败后不清除旧数据,直接br全量还原是否会导致数据重复
会有问题,建议 rename 所有的 table 之后再全量恢复。恢复完成,检查数据问题没问题后,再 drop 之前的 table。
2)如果多次br全量,后面的数据是否会重复。
如果第一次 br 恢复到最后一次 br 恢复之间,备集群都没有写入,那么没问题。如果有写入,参见上面处理方法。
注意:TiCDC 向备份集群同步数据也算写入。
此外 TiCDC 对上游 TiDB 集群版本有较为严格的检查,必须要保证 tikv 和 pd 的版本 X.Y.Z 中的 X.Y 和 TiCDC 相同。
比如,5.0.3 的 PD,TiKV 和 TiDB,TiCDC 建议使用 5.0.6。
请问是说不需要刪除cdc的数据是吗?比如cdc只同步到了星期三就停了,那我星期四晚上做br全量的时候,不删除星期三之前的数据,br能够覆盖掉?
比如说我们每天9点开始有数据写入到晚上11点,那我每天晚上11点01分停掉ticdc,11点05分从主数据库br全量备份然后还原到备份数据库,然后第二天早上8点恢复ticdc。这样的操作下,备份数据库里的数据会重复吗?
11点05分从主数据库br全量备份然后还原到备份数据库
数据会有问题,只要 br 恢复后下游有写入,那么上下游集群中的元数据可能就不一样了,比如 table row_id/index_id 等。建议在全量恢复前 rename 要恢复的 table,恢复完成后再 drop rename 后的表。
br备份的是全库的话就会覆盖全库。 旧的cdc最好先停掉。等恢复完之后再搭建cdc
该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。