br 版本 v5.2.2
关于 br 数据恢复,有几个问题想咨询下:
- br 恢复时,是不是按照每个sst文件依次去恢复的?
- 如果有原表有数据,恢复是会做drop操作再恢复,还是保留原来的表和数据?
- 我数据库内有 a,b,c 三张表,如果单独恢复 c 表,恢复期间会影响 a表和b表的使用吗?
br 版本 v5.2.2
关于 br 数据恢复,有几个问题想咨询下:
你看下有没有老师回复,如果没有的话,今晚的版主交流会你提一下~
ok,已上报问题
小任务交给你,结束后随便把你听到的答案附上,随便标记一下解决方案。
昨晚欧峰老师对上述 br 问题做了回答,现简单总结下:
br 恢复是不是按照一个个sst文件去恢复的。恢复是会读取 backupmeta 文件,里面存有所有要恢复的 schema 和 table 信息,恢复时会根据这些信息并发恢复数据。
如果恢复时原表存在且有数据,br restore 并不会 drop table,而是继续恢复数据操作。当 br 认为恢复完成后,会去做 checksum 检查,这时候会报错,因为此时的文本数据已经和集群数据不一致了。所以在 br 恢复时需要确保原表原库已经不存在了,不然会出现恢复数据不一致的情况。
在线集群恢复单库或者单表,从数据的角度是不会影响的,但是 br 操作会有额外的性能开销,尽量避免在业务高峰期去进行此类操作。
另外针对第二个恢复问题,闫彬彬老师提了个很好的建议:br 命令可以支持类似于 oracle impdp 中TABLE_EXISTS_ACTION
这类可选参数,方便用户可以基于实际情况自行选择恢复方式。
收到,谢谢欧老师~
感谢你的问题。
发现问题没有更新,然后做了个简单的回复 (感觉我们在同时进行),现在我发现我的回复多余了,你的总结更加全面。
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。