TIDB TICDC 6.1.1

如下是我在TIDB下面创建的一个表,然后在create changefeed的时候说该表不能被replicate. 请问DDL有啥问题。 该表有唯一索引
CREATE TABLE db2rp (
subsystem char(6) NOT NULL,
start_date char(10) NOT NULL,
start_time char(8) NOT NULL,
corrname char(20) NOT NULL,
occurrence bigint(20) DEFAULT NULL,
db2cl2time decimal(20,6) DEFAULT NULL,
db2cl2cpu decimal(20,6) DEFAULT NULL,
db2cl2cpuse decimal(20,6) DEFAULT NULL,
dmlall bigint(20) DEFAULT NULL,
pkcl7cputime decimal(20,6) DEFAULT NULL,
pkcl7cputimese decimal(20,6) DEFAULT NULL,
pkcl7time decimal(20,6) DEFAULT NULL,
pkgcl8time decimal(20,6) DEFAULT NULL,
pkgcollid char(10) DEFAULT NULL,
pkgcorrren bigint(20) DEFAULT NULL,
pkgname char(20) DEFAULT NULL,
KEY start_date (start_date,start_time,subsystem)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin

同步限制

使用 TiCDC 进行同步的时候,请注意以下相关限制要求以及暂不支持的场景。

有效索引的相关要求

TiCDC 只能同步至少存在一个有效索引的表,有效索引的定义如下:

  • 主键 (PRIMARY KEY) 为有效索引。
  • 同时满足下列条件的唯一索引 (UNIQUE INDEX) 为有效索引:
    • 索引中每一列在表结构中明确定义非空 (NOT NULL)。
    • 索引中不存在虚拟生成列 (VIRTUAL GENERATED COLUMNS)。

TiCDC 从 4.0.8 版本开始,可通过修改任务配置来同步没有有效索引的表,但在数据一致性的保证上有所减弱。具体使用方法和注意事项参考同步没有有效索引的表

我这个索引列也是非空,为什么同步不了呢?

具体报错发下看看

[WARN] some tables are not eligible to replicate, []model.TableName{model.TableName{Schema:“zm”, Table:“db2rp”, TableID:0, IsPartition:false}}
Could you agree to ignore those tables, and continue to replicate [Y/N]

参考楼上发的

你的不是唯一索引