1

Mongo 版本是 3.0.6,我有一个通过 mongodump 和 mongorestore 使用 --oplogReplay 选项将 oplog 从另一个数据库应用到目标数据库的过程。

但是我多次发现重复的关键错误消息,源数据库和目标数据库具有相同的结构(独立和字段),不可能在目标上重复记录,因为它应该首先在源数据库上出错。

错误信息看起来像这样

2017-08-20T00:55:55.900+0000    Failed: restore error: error applying oplog: applyOps: exception: E11000 duplicate key error collection: <collection_name> index: <field> dup key: { : null }

今天我发现了一个这样的神秘信息

2017-08-25T01:02:14.134+0000    Failed: restore error: error applying oplog: applyOps: not master

什么意思?我的理解是,mongorestore 有“--stopOnError”选项,表示默认过程,如果有任何错误,恢复过程将跳过并继续。但是我遇到了上述错误,然后恢复过程随时终止。:(

4

1 回答 1

0

这并不能直接回答您的问题,对此感到抱歉,但是...

如果需要将数据库 A 的 oplog 更改应用到数据库 B,最好使用mongo-connector程序,而不是 mongodump/mongorestore -pair。

于 2017-08-27T12:57:12.293 回答