4

我很难确定这是否是受支持的操作。我发现了一些表明它过去不是这样的东西,但是我没有得到任何表明它不受支持的日志(只是令人困惑的日志),而且我无法在 mongo 的文档中找到任何表明它不被允许的东西。

以供参考:

  • 操作系统:Centos6.6
  • 蒙哥:v3.0.2
  • 蒙戈外壳:v3.0.2
  • Mongodump:v3.0.2
  • Mongorestore:v3.0.2

这是我正在运行以创建转储的命令(我正在使用身份验证):

mongodump -u username -p password --authenticationDatabase admin --oplog

这是转储后的原始文件结构。

└── dump
    ├── oplog.bson
    ├── admin
    │   ├── system.users.bson
    │   ├── system.users.metadata.json
    │   ├── system.version.bson
    │   └── system.version.metadata.json
    ├── dogs
    │   ├── tails.bson
    │   └── tails.metadata.json
    └── mydata
        ├── objects.bson
        ├── objects.metadata.json
        ├── fs.chunks.bson
        ├── fs.chunks.metadata.json
        ├── fs.files.bson
        ├── fs.files.metadata.json
        ├── configuration.bson
        └── configuration.metadata.json

我尝试了几种不同的还原变体来获得我想要的东西,但它们似乎都有点偏差。在阅读了关于 mongorestore 的 mongo 文档中的以下内容后:

--db 不控制 mongorestore 恢复哪些 BSON 文件。您必须使用 mongorestore 路径选项来限制恢复的数据。

在我看来,我应该能够将 oplog.bson 复制到我要恢复的特定数据库的文件夹中,然后从 dump/ 内部运行以下命令:

mongorestore -u username -p password --authenticationDatabase admin --oplogReplay --db dogs dogs

我发现这令人困惑,因为它提供了以下日志:

2015-05-13T22:10:12.694+0000    building a list of collections to restore from dogs dir
2015-05-13T22:10:12.695+0000    reading metadata file from dogs/tails.metadata.json

2015-05-13T22:10:12.695+0000    restoring dogs.oplog from file dogs/oplog.bson
2015-05-13T22:10:12.696+0000    no indexes to restore
2015-05-13T22:10:12.696+0000    finished restoring dogs.oplog

2015-05-13T22:10:12.696+0000    restoring dogs.tails from file dogs/tails.bson
2015-05-13T22:10:12.697+0000    restoring indexes for collection dogs.tails from metadata
2015-05-13T22:10:12.697+0000    finished restoring dogs.tails

2015-05-13T22:10:12.697+0000    replaying oplog
2015-05-13T22:10:12.697+0000    no oplog.bson file in root of the dump directory, skipping oplog application

2015-05-13T22:10:12.697+0000    done

关于 dog.oplog 的第一部分看起来好像一切正​​常,但是后面关于 oplog 的消息让我感到困惑。

无论我尝试哪种目录和路径变体,我似乎都无法特别满足这条消息:

2015-05-13T22:10:12.697+0000    replaying oplog
2015-05-13T22:10:12.697+0000    no oplog.bson file in root of the dump directory, skipping oplog application

这是否意味着我的 oplog 重播没有发生?我的时间点备份/恢复是否仍然符合我的预期?我记得看到一些关于改进 mongotools 日志消息的票,也许这只是糟糕的日志记录?

4

0 回答 0