我在同步的时候发现上游(MYSQL)DDL创建表的时候是utf32,TIDB不支持,我从上游修改了表结构。本质上TIDB是不支持ALTER的。但是我taks任务创建的时候已经指定同步的指定库下的所有了。也就是说alter 的表不在同步范围内,但是DM还是报错。集群是v5.2.2 ,DM也是最新的
Message信息如下 "Message": "startLocation: [position: (mysql-bin.000104, 663835581), gtid-set: ], endLocation: [position: (mysql-bin.000104, 663836285), gtid-set: ], origin SQL: [CREATE TABLEtb_sys_cron_task_out(idint(32) NOT NULL AUTO_INCREMENT,taskNamevarchar(255) CHARACTER SET utf32 DEFAULT NULL COMMENT '任务说明',cronvarchar(255) CHARACTER SET utf32 DEFAULT NULL COMMENT '定时任务时间',clazzvarchar(255) CHARACTER SET utf32 DEFAULT NULL COMMENT '定时任务执行类',enableint(1) DEFAULT '0' COMMENT '定时任务开关 0.关 1.开',daemonint(1) DEFAULT '1' COMMENT '表示调试线程是否设置为守护线程 0.false 1.true',entIdvarchar(64) DEFAULT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=137 DEFAULT CHARSET=utf8 COMMENT='定时任务表']: parse DDL: CREATE TABLEtb_sys_cron_task_out(idint(32) NOT NULL AUTO_INCREMENT,taskNamevarchar(255) CHARACTER SET utf32 DEFAULT NULL COMMENT '任务说明',cronvarchar(255) CHARACTER SET utf32 DEFAULT NULL COMMENT '定时任务时间',clazzvarchar(255) CHARACTER SET utf32 DEFAULT NULL COMMENT '定时任务执行类',enableint(1) DEFAULT '0' COMMENT '定时任务开关 0.关 1.开',daemonint(1) DEFAULT '1' COMMENT '表示调试线程是否设置为守护线程 0.false 1.true',entIdvarchar(64) DEFAULT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=137 DEFAULT CHARSET=utf8 COMMENT='定时任务表'", "RawCause": "[parser:1115]Unknown character set: 'utf32'", "Workaround": "Please confirm your DDL statement is correct and needed. For TiDB compatible DDL, see https://docs.pingcap.com/tidb/stable/mysql-compatibility#ddl. You can usehandle-errorcommand to skip or replace the DDL or add a binlog filter rule to ignore it if the DDL is not needed."