haring
(Haring)
1
【 TiDB 使用环境】
源库:tidb 4.0.8
目标:全新的 tidb 5.03集群
【备份和数据迁移策略逻辑】
备份:使用dumpling全量导出数据。
恢复:通过lighning恢复新目标集群。
binlog备份:集群中配置有binlog pump及drainer,drainer存储数据为本地。
binlog恢复:把drainer备份好的binlog,取dumpling导出数据的tso,通过reparo恢复该tso后的数据。
【问题】 当前遇到的问题
lightning恢复的数据是正常的。
binlog恢复的数据中,发现部分表的数据量不对,少了一些数量。
想知道我要怎样排障?
3 个赞
Lucien
( Lucien)
2
可以详细的反馈一下具体少了什么样的数据 ?可以先通过 sync-diff-inspect 工具查看一下看看上下游是否数据一致。
1 个赞
haring
(Haring)
3
我通过时间,搜索同一时间段里的数据,发现源库有2404条记录,但binlog恢复后,仅852条记录。
搜索的sql如下,通过指定的时间,确认一定是binlog恢复的数据:
SELECT * FROM task_job_log
WHERE update_date >= ‘2021-07-22 00:00:00’ AND update_date <= ‘2021-07-23 00:00:00’;
reparo.toml的中配置safe-mode = true,不知道跟这个是否相关,因为不配置这个的话,总提示,无法恢复:
Duplicate entry ‘20926337-20919524-4190157’ for key ‘uniq_cla_tea_stu’
1 个赞
haring
(Haring)
4
查了多个表,都存在数据丢失情况。
如lighning全量恢复的时候为7.20日,7.20日前的数据,与生产对比,是一样的。
但7.20后的数据,使用binlog恢复,就会发现7.21起binlog恢复的数据与生产对比,缺了很多。
Lucien
( Lucien)
5
没有关系
需要确认一下 binlog 日志输出,如果只是数据丢失,应该是有报错的。
haring
(Haring)
6
即在binlog中搜索error,来检查是否binlog在输出过程中,就出现问题?
还是看reparo在恢复的过程中,是否有报错?
如何看reparo的报错,这个可以教一下吗?
system
(system)
关闭
7
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。