为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】: v4.0.4
- 【问题描述】:Br 进行增量备份的恢复报错 Error: failed to validate checksum
今天在测试BR工具的备份,现我的备份机制选择的是全量备份+增量备份。我先全量备份一个完整数据库,
./br backup db
–pd “192.168.188.104:2379”
–db BrTest
–storage “s3://tidb.backup/20201224/BrTest11?endpoint=http://192.168.188.118:9000”
–s3.region “us-east-1”
–send-credentials-to-tikv true
–log-file backuptable.log
然后在一个表中添加几条数据,再进行增量备份,
./br backup db
–pd “192.168.188.104:2379”
–db BrTest
–storage “s3://tidb.backup/20201224/BrTest22?endpoint=http://192.168.188.118:9000”
–s3.region “us-east-1”
–send-credentials-to-tikv true
–lastbackupts 421734227041058817
–log-file backuptable1.log
然后又继续添加几条数据,再进行增量备份,
./br backup db
–pd “192.168.188.104:2379”
–db BrTest
–storage “s3://tidb.backup/20201224/BrTest33?endpoint=http://192.168.188.118:9000”
–s3.region “us-east-1”
–send-credentials-to-tikv true
–lastbackupts 421711594659774465
–log-file backuptable1.log
然后随机删除了几条数据,现在我想要恢复删除之前的数据,是应该先恢复第一个全量备份数据BrTest11,再依次恢复BrTest22、BrTest33的吧?但是我执行命令:
./br restore db
–pd “192.168.188.104:2379”
–db BrTest
–storage “s3://tidb.backup/20201224/BrTest11?endpoint=http://192.168.188.118:9000”
–s3.region “us-east-1”
–send-credentials-to-tikv true
–log-file restorefull.log
就报错Error: failed to validate checksum
这是为什么呢?我恢复BrTest22和BrTest33的数据没有报错,但是数据库实际并没有恢复我删除的数据。
然后我一并把这个库的表删掉,再依次恢复BrTest11、BrTest22、BrTest33的数据,这样数据就完全恢复回来了。
我有个疑问,不能每次恢复都要先把库表删除?
文件是恢复BrTest11数据的报错日志文件,求各路大神帮忙解决,谢谢!
restorefull.log (13.5 KB)