Syncer数据同步

使用Syncer数据同步遇到的问题:

syncer版本:

2018/07/16 17:24:43 DEBUG Now using Go's stdlib log package (via loggers/mappers/stdlib).
Release Version: v1.0.0-16-g102463e
Git Commit Hash: 102463ee614ba4fe5234486e26ef435daa6f2847
Git Branch: master
UTC Build Time: 2018-06-27 06:25:00
Go Version: go version go1.10.2 linux/amd64
  • syncer报错日志:
2018/07/16 16:23:22 main.go:79: [error] /home/jenkins/workspace/build_tidb_enterprise_tools_master/go/src/github.com/pingcap/tidb-enterprise-tools/syncer/syncer.go:529: gen insert sqls failed: insert columns and data mismatch in length: 5 vs 6, schema: xiaomai, table: institution_product_course
/home/jenkins/workspace/build_tidb_enterprise_tools_master/go/src/github.com/pingcap/tidb-enterprise-tools/syncer/syncer.go:165:  
2018/07/16 16:23:22 syncer.go:752: [info] print status exits, err:context canceled

同步出现了两边表结构不一致的问题,查询RDS和TIDB两边的表结构:


Syncer数据同步_第1张图片
image.png

RDS上的建表语句:

CREATE TABLE `institution_product_course` (
  `product_id` bigint(20) DEFAULT NULL COMMENT '商品id',
  `inst_id` bigint(20) DEFAULT NULL COMMENT '机构ID',
  `course_id` bigint(20) DEFAULT NULL COMMENT '课程id',
  `gmt_create` datetime DEFAULT NULL,
  `gmt_modify` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品课程关联表'

TIDB上的建表语句:


Syncer数据同步_第2张图片
image.png

原因:
rds 上的表没有主键的话,会创建一个隐藏的 ID,syncer目前还不支持忽略隐藏 ID

你可能感兴趣的:(Syncer数据同步)