数据同步问题

最近更新时间:2019-09-03 16:50:51

任务校验失败

可能原因:

  • 目标实例帐号密码有误。
  • 网络不通,例如,防火墙或安全组没有放通同步工具出口 IP,当前不支持跨网络。
  • 目标实例地实例不存在。

修复方法:检查上述原因做对应调整。

同步任务延迟较大

可能原因:

  • 源端大事务造成。数据同步是从备机同步数据,因 binlog 中,每个事务的时间戳是事务的开始时间,当有大事务时,即便是并发同步,数据同步上报的时间戳仍然是事务的开始时间。
  • 备机延迟。例如,DDL 重放,只读帐户造成备机压力过大等造成的备机延迟,会导致数据库同步的延迟。

修复方法:检查当前是否存在大事务、批处理。如果等待一段时间后仍然延迟较大,建议联系工作人员排查处理。

同步数据多了数据

可能原因:目标端没有锁写,被写入了部分数据;对应表可能缺少主键,当同步工具重发请求时,目标端重复写入部分数据;

修复方法:给源表增加主键,删除目标实例表中数据,重新同步。或手动删除缺少数据。

目标库可以写入数据

同步不会锁住目标库,目标库可以正常读写数据,因此请谨慎操作目标库。

DDL 重放失败

可能原因:源和目标数据库版本不同,DDL 语法有差异。

修复方法:手动在目标重新执行 DDL 语句。

数据库同步失败,对应表中没有任何数据或只有一部分数据

可能原因:修改了同步所需的帐号,或修改了目标库的表结构。

修复方法:暂停同步任务,修改对应帐号,并将目标库和源库表结构修改为一致后重新同步。