【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
sync 阶段报错 :Error 1105 (HY000): strconv.Atoi: parsing "": invalid syntax
【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
看起来是语法错误,用的DM增量同步工具?上游的MYSQL是什么版本?5.7?8.x? 另外可以把上游的这条UPDATE SQL拿到下游TIDB里手动去执行下,看看报什么错?还有上下游的字符集编码、排序规则是不是都一致的
看着这个报错应该是和数据类型转换有关,关注下上下游表是不是有varchar类型转换为int/bigint类型?
上游8.0.28 MySQL : ENGINE=InnoDB AUTO_INCREMENT=553691708826086401 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='User ’
tidb:ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=553296534740563553 COMMENT='User ’
上下游数据类型是一样的
感觉源库中某数字类型字段(如INT/BIGINT)存储了空字符串导致
现在是sync阶段,应该是update里面有啥问题吧
这个报错是go语言将字符串转换成int类型失败引发的报错。还是需要围绕这个类型转换以及具体的数据去进行排查
感觉是sql语法有问题
DM 在尝试将某个字符串转换为整数时失败了. 看下表结构, 哪个是数字类型的
出现转义字符了吗这是
怎么定位到有问题的数据呢
这个要怎么定位问题的数据呢
看可能是数据有问题吧
最好分段到,先导一半,有问题再减少一半二分法去导
通过加筛选条件去控制吗