tidb的兼容性

各位大佬,我现在有一个问题想问一下,就是我们生产的mysql中的表有自增长列,AUTO_INCREMENT,
然后我想用tidb自身带的DM进行全量同步数据,但是tidb 建议使用兼容模式,我想问一下,如果我先使用 DM进行导数据,后面怎么把表改为 兼容模式,怎么新增加字段 ,AUTO_ID_CACHE 1; ??? 还有就是如果不改的话,影响大不大?

使用 MySQL 兼容模式后,能保证 ID 唯一 、单调递增,行为几乎跟 MySQL 完全一致。即使跨 TiDB 实例访问,ID 也不会出现回退。只有当中心化服务的“主” TiDB 实例异常崩溃时,才有可能造成少量 ID 不连续。这是因为主备切换时,“备” 节点需要丢弃一部分之前的“主” 节点可能已经分配的 ID,以保证 ID 不出现重复。https://docs.pingcap.com/zh/tidb/stable/auto-increment#mysql-兼容模式

那个大哥,我意思这个如果我用DM进行全量导入的话,我是现在tidb上创建好表呢?还是导入完以后可以修改表,加这个AUTO_ID_CACHE =1呢?

看版本6.5以上直接用auto_increment 以下也不用改。只是这个表插入自增会跳 起他不影响 别依赖自增做排序

我们的版本是6.5.0的,这个直接用auto_increment 不会增加访问热点吗?

不支持使用 ALTER TABLE 来添加 AUTO_INCREMENT 属性

大佬,那个我们这个自增长是作为主要的判断的,就是有没有办法保证这个自增依然存在,并且最好不要变动的?

emmmm…我意思不是增加auto_increment 是增加AUTO_ID_CACHE 1

image

貌似不支持,我这边测试语法报错。

哦哦,好的,谢谢大佬

先创建表,将表的自增主键改成唯一键或者普通主键,再用DM导入数据即可。

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