孤君888
1
【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 个赞
乡在人间
(Ti D Ber Ki Nyc B Fs)
3
看起来是上游mysql的创建表语法同步至下游tidb不兼容引起报错,确定这个语法是tinyint default引起嘛?
1 个赞
麻辣机师
(Ti D Ber N Ec Hp7n S)
5
load 阶段的报错,要么改脚本,要么改上游。可以考虑写个代码把文件都改一遍
孤君888
6
确定,是因为上游MYSQL 8 使用生成列默认值问题,我现在跳过了这几个表
麻辣机师
(Ti D Ber N Ec Hp7n S)
7
也遇到过
默认值上 () 的问题,去掉就行了,tidb 是不支持这种写法
小龙虾爱大龙虾
(Minghao Ren)
8
看起来是兼容性bug,提个 issue 吧,你这个场景,可以通过自己手动全量,DM增量的方式搞