写点什么

dm1.0.5 tidb3.0.15 同步阿里云 drds5.7 出现的问题

  • 2022 年 7 月 11 日
  • 本文字数:1199 字

    阅读完需:约 4 分钟

作者: chendapao 原文来源:https://tidb.net/blog/7a6bcf99


这是一个问题分享


如果上游 mysql 有自增主键,dm 又不想使用列值转换(column mapping)的话,很容易出现如下错误:


...{        "id": 2,        "name": "mysql_binlog_format",        "desc": "check whether mysql binlog_format is ROW",        "state": "success",        "errorMsg": "",        "instruction": "",        "extra": "address of db instance - mysql.rds.aliyuncs.com:3306"},{        "id": 14,        "name": "sharding table `库名`.`表名` consistency checking",        "desc": "check consistency of sharding table structures",        "state": "fail",        "errorMsg": "instance agency-slave-merge-01 table `库名`.`表名` of sharding `库名`.`表名` have auto-increment key, would conflict with each other to cause data corruption",        "instruction": "please handle it by yourself, read document https://pingcap.com/docs-cn/dev/reference/tools/data-migration/usage-scenarios/best-practice-dm-shard/#自增主键冲突处理 for more detail (only have Chinese document now, will translate to English later)",        "extra": "auto-increment key checking"},{        "id": 7,        "name": "mysql_version",        "desc": "check whether mysql version is satisfied",        "state": "success",        "errorMsg": "",        "instruction": "",        "extra": "address of db instance - mysql.rds.aliyuncs.com:3306"},...
复制代码


但是这里,官方会引导我们去打开错误里的文档进行参考。


https://pingcap.com/docs-cn/dev/reference/tools/data-migration/usage-scenarios/best-practice-dm-shard/# 自增主键冲突处理


可是官方的解释里有一个误导的地方,提供了Column mapping,但是又不建议我们使用。


自增主键冲突处理
在 DM 中,我们提供了 Column mapping 用于处理 bigint 类型的自增主键在合并时可能出现冲突的问题,但我们强烈不推荐使用该功能。如果业务上允许,我们推荐使用以下两种处理方式。
复制代码


一般的思路就会按照文档接着往下读,进行去掉自增主键的主键属性的下游 tidb 库表操作。并且文档里也给出了一个流程



此时如果按照此流程操作,问题不会解决,依旧会出现开头的错误。


错误的原因如下



简单的理解就是,如果有自增主键,就必须使用列值转换(Column mapping)否则任务会检查不成功,即使你下游 tidb 里按照刚才的文档进行去除自增的操作也不行,检查依旧不成功。


主要原因是提示错误的文档里忘记引导用户,如果不想使用列值转换(Column mapping)来进行分库分表合并,只想做下游 tidb 的修改,此时最重要的一步要在任务配置跳过自增主键检查。


配置如下:


ignore-checking-items: ["auto_increment_ID"]


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
dm1.0.5 tidb3.0.15 同步阿里云drds5.7出现的问题_TiDB 社区干货传送门_InfoQ写作社区