tinyint问题

【TiDB 使用环境】
生产环境
【TiDB 版本】
v8.5.1
【操作系统】
RockyLinux 9.5
【部署方式】
vmware ESX 虚拟机,4c8g300g
【集群数据量】
【集群节点数】
【问题复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
背景:
通过DM同步上游mysql8.0的数据到下游TIDB,直接全量+增量(ALL)的方式导入的,发现在Load阶段报错了


DM-Task的配置如下

我在TIDB手动创建表,报错如下

请问该如何处理??去上游挨个修改字段类型吗?

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】

DM的具体报错信息没看到,发一个完整的报错信息看看。
手动建表报错和tinyint没啥关系,是你default语法有问题,DM报错是和这个相关吗?

2 个赞

看起来是上游mysql的创建表语法同步至下游tidb不兼容引起报错,确定这个语法是tinyint default引起嘛?

1 个赞

截图都没看出有问题,具体的日志跟报错得看一看

load 阶段的报错,要么改脚本,要么改上游。可以考虑写个代码把文件都改一遍

确定,是因为上游MYSQL 8 使用生成列默认值问题,我现在跳过了这几个表

也遇到过
默认值上 () 的问题,去掉就行了,tidb 是不支持这种写法

看起来是兼容性bug,提个 issue 吧,你这个场景,可以通过自己手动全量,DM增量的方式搞