作者:毛巳煜​



RECOVER 导致 TiDB Binlog 同步错误处理

​MySQL at Scale. No more manual sharding​

补充 RECOVER 导致 TiDB Binlog 同步错误处理_数据库



​RECOVER TABLE | TiDB 官方用户文档​

TiDB 是由 PingCAP 研发的一款定位于在线事务处理/在线分析处理(HTAP)的开源融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性,目前已广泛应用于金融服务、互联网、制造等行业。

当使用 TiDB Binlog 同步工具时,上游 TiDB 使用 RECOVER TABLE 后,TiDB Binlog 可能会因为下面几个原因造成同步中断:

  • 下游数据库不支持 RECOVER TABLE 语句。 类似错误:​​check the manual that corresponds to your MySQL server version for the right syntax to use near 'RECOVER TABLE table_name'​​。
  • 上下游数据库的 GC lifetime 不一样。 类似错误:​​snapshot is older than GC safe point 2019-07-10 13:45:57 +0800 CST​​。
  • 上下游数据库的同步延迟。 类似错误:​​snapshot is older than GC safe point 2019-07-10 13:45:57 +0800 CST​​。

``

  1. 先使用 mydumper 将恢复的数据保存到本地
  2. 删除恢复表
  3. 让drainer 恢复正常运行
  4. 重新导入被删除的表
  5. 查看TiDB Binlog 数据同步是否正常