单机br

【 TiDB 使用环境】单机部署的集群
【 TiDB 版本】7.5.5
【 BR 版本】7.5.5
如图,创建了表abc,设置了自增初始,新增张三和李四两条数据,查询结果

接下来进行备份,如图

建表语句加上/*T![auto_id_cache] AUTO_ID_CACHE=1 */ 的注释
举个例子

具体文档解释:

新的版本AUTO_ID_CACHE=1对性能影响并不大

没办法,除非你改成 AUTO_ID_CACHE = 1。

普通的 auto_id,你如果有两个不同的 tidb instance,两个都往一个表写,一个会是 1 开始,另一个就是 30001 开始。

加上了,还原前加了两条数据,然后还原后再insert一条数据,结果变成4001了如图

加上了,还原前加了两条数据,然后还原后再insert一条数据,结果变成4001了如图

:joy:不用还原,感觉单纯重启也会复现这个情况。
https://docs.pingcap.com/zh/tidb/v7.5/auto-increment#auto_id_cache

怎么解决这种,我只要求保证id这种自增不会夸得很离谱 :sweat_smile:

这种方式可以。

建表时将 AUTO_ID_CACHE 设置为 1

https://docs.pingcap.com/zh/tidb/v7.5/auto-increment#mysql-兼容模式

不过也可能是不连续的。

不行啊,我设置了,建abc表,新增两条数据,然后备份,把库删了,还原,还原后再新增直接到4001了,如图


备份完了把数据库删了,如图

然后我再还原,新增一条数据,变成4001了这id :sweat_smile:

:joy: 不会是bug没修复吧

可我部署的是7.5.5的版本呀,我都懵了,这玩意都不知道咋搞,这也太坑了,一下跳几千或几万个id,这谁受的了啊 :sweat:

tidb不建议用自增id 会存在 写入热点问题 限制场景较多

自增的特性了,不能保证连续性了

br一般来说你应该不用的,不用在这里纠结。
自增值如果不对你可以br恢复后手工重新设置下

可能只能给 br 提个需求,让他在备份恢复完成之后 rebase 一下 auto id