canal同步中源端数据类型为tinyint(1)的字段同步异常-目标端值变为1

一 问题描述

canal同步中有一个表t51,其中名为id2的字段数据类型为tinyint(1),发现往这个字段里插入大于1的值时,目标端该字段值都为1,和源端值不一致。

示例:

在源端执行:

INSERT INTO t51(id,id2) VALUES(1,3);

目标端t51的id2值为1,不是3。

canal client里adapter.log输出的日志能看到insert语句id2值是3,但是mariadb的binlog日志中记录的id2位1。

二 解决办法

调大该字段的长度,至少变为tinyint(2),不要设置成tinyinit(1)。

上一篇:Android 混淆 minifyReleaseWithR8 failed NullPointerException


下一篇:大数据同步工具DataX、Sqoop、Canal之比较