11

根据我所做的研究,mongodump 没有内置检查来验证 mongodump 操作的完整性;至少,对用户来说没有什么明显的。我可能错了。如果我是,请通知我。否则,我确定我不是唯一一个希望验证他们的 mongodump 操作复制数据而没有任何损坏或丢失的人。其他人用来确保其 mongodump 文件完整性的各种方法是什么?如果在分片集群上执行此操作的方法本质上不同,请回答如何在单个 MongoDB 实例和分片实例上执行此操作。

4

2 回答 2

0

我过去曾使用过 db.collection.validate({full:true}) 来验证相关集合的内容。就我所知,这是在逐个集合的基础上进行的,并且对于完整的数据库还原可能不可行。由于我通常只会将一两个集合恢复到不同的环境,因此我将在源之前执行 .validate(),然后在目标之后执行并比较输出。

于 2017-05-01T21:33:45.707 回答
0

简单而简单的方法是使用该DB stats命令进行检查,该命令为您提供有关每个集合、视图、对象和索引的计数的更多详细信息。使用以下命令,您可以交叉检查源数据库和目标数据库在恢复后数据是否一致。

use database

db.stats()

注意:不要比较 dataSize 或 storageSize,因为源 db 可能具有巨大的大小,因为它们具有碎片数据。

于 2022-02-17T10:17:32.007 回答