BR恢复增量数据表自增ID没有变化。

【 TiDB 使用环境】
测试
【 TiDB 版本】
v5.3.1
【复现路径】

  1. 三节点集群/单节点集群,单库单表;
  2. 第一次全量备份后,每十分钟做一次增量备份;
  3. 备份数据存储到S3存储中;
  4. 数据恢复时,全量恢复和增量恢复都成功,数据量也一致;
  5. 写入数据报错,检查后发现表的AUTO_INCREMENT值不一致,进一步检查
    后发现AUTO_INCREMENT的值维持在全量恢复时候的值,增量恢复时没有变化。
    【遇到的问题:问题现象及影响】
    恢复增量数据后,表的AUTO_INCREMENT值不一致,导致后续数据写入报错,主键重复,无法写入新数据。
    【资源配置】
    3 台 2*4 主机,数据盘50G,系统盘30G

原因可能如下:

建议自行修改偏移量,来保证 连续性,参考如下:

1 个赞

多谢指点,我今天再试试~
我昨天参考了官方文档,设置了另外一个配置AUTO_ID_CACHE的值为1,还是存在相同的问题,感觉跟缓存自增ID区间的关系不大。

我修改了这个值的配置之后,自增ID我观察了,已经是连续了的。

而且,我没有做过重启处理,我的恢复方式使用了两种方式,一种是同一个集群,备份完所有数据后干掉数据库,然后恢复;另一种是用相同的方式先后部署两个集群,系统配置和集群默认配置都是一样的,备份集群一的数据之后,直接恢复到集群二。
相同的问题都存在。

显示插入 和 隐式插入对于这种自增的处理,在属性上会有冲突,官方文档上已经写的很清楚了

所以最佳实践,就是需要人工介入进行支持了,来保证偏移量的及时处理,避免冲突问题

哦,这样的啊,多谢多谢~
那还有两个问题哈
一个是,隐示插入和显示插入的自增处理,官方的文档链接能给一下么?我去学习一下。
二个是,增量备份目前除了人工介入之外,自动处理是无法做到避免上述问题的是吗?
:pray:

https://docs.pingcap.com/zh/tidb/dev/auto-increment#唯一性保证

多谢多谢~
另外,目前官方文档说的BR的数据增量备份是实验性的,不建议在生产环境使用,是不是增量备份还存在别的其他问题会导致备份出来的数据存在不可信或者别的问题呢?

确认了一下,我们都是隐式插入 :pray:

不建议在生产环境使用,说明还有不可控的地方,可以自行测试验证

数据备份还是以官方推荐的为主,这样不会出现不可控的情况(可按照自己的场景需求,设定不同的备份策略)

好的,多谢~

记得选择【最佳答案】哟~

哈哈,好的~


我看v5.3版本官方推荐的备份方式就是BR :joy:
对于v5.3版本,还有别的比较推荐的全量和增量备份相结合的方式吗?

物理备份就这一个宝贝方式了…

看看逻辑备份 和 tiCDC 能不能满足你的需求…

:joy:好嘞,谢谢大佬~

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。