问题描述

在使用DTS进行数据传输时,提示如下报错。

说明:其中对应查询数据库的连接信息是xx.xx.xx.xx:xx,3为DTS数据字典列的数量,4为Binlog列数量,3@4105797为对应出错的Binlog event所处的文件编号和偏移位置。

DTS-1050005 MySQL table xxx.xxx binlog column count check error, local count is 3, but binlog count is 4, at offset 3@4105797.

问题原因

Binlog中待解析的日志对应表的表结构与DTS本地存储表的表结构不一致,导致Binlog解析失败。出现表结构跟DTS本地存储表结构不一致的原因主要有以下两种原因:

  • 原因一:该表之前进行的表结构变更DDL语句,DTS解析失败被忽略跳过,未更新DTS本地存储的表结构。
  • 原因二:全量数据迁移或初始化过程中,源库业务进行过表结构变更。

解决方案

给DTS源库账号赋予整个information_schema的查询权限,有关授权操作请参考文档GRANT

说明:如问题未解决,请提交工单说明最近执行的DDL,联系阿里云技术支持重新加载DTS本地存储的表结构。

适用于

  • 数据传输服务DTS