数据同步问题
最近更新时间: 2024-10-17 17:10:00
任务校验失败
可能原因:
- 目标实例帐号密码有误。
- 网络不通,例如,防火墙没有放通同步工具出口 IP,当前不支持跨网络。
- 目标实例地实例不存在。
修复方法:检查上述原因做对应调整。
同步任务延迟较大
可能原因:
- 源端大事务造成。数据同步是从备机同步数据,因 binlog 中,每个事务的时间戳是事务的开始时间,当有大事务时,即便是并发同步,数据同步上报的时间戳仍然是事务的开始时间。
- 备机延迟。例如,DDL 重放,只读帐户造成备机压力过大等造成的备机延迟,会导致数据库同步的延迟。
修复方法:检查当前是否存在大事务、批处理。如果等待一段时间后仍然延迟较大,建议联系工作人员排查处理。
同步数据多了数据
可能原因:目标端没有锁写,被写入了部分数据;对应表可能缺少主键,当同步工具重发请求时,目标端重复写入部分数据;
修复方法:给源表增加主键,删除目标实例表中数据,重新同步,或手动删除目标端多余数据。
目标库可以写入数据
同步不会锁住目标库,目标库可以正常读写数据,因此请谨慎操作目标库。
DDL 重放失败
可能原因:源和目标数据库版本不同,DDL 语法有差异。
修复方法:手动在目标重新执行 DDL 语句。
数据库同步失败,对应表中没有任何数据或只有一部分数据
可能原因:修改了同步所需的帐号,或修改了目标库的表结构。
修复方法:暂停同步任务,修改对应帐号,并将目标库和源库表结构修改为一致后重新同步。