【问题标题】:How to do selective Mongo recovery?如何进行选择性Mongo恢复?
【发布时间】:2014-03-09 08:37:01
【问题描述】:

假设我有一个带有两个数据库的Mongo 副本集(一个主数据库和几个辅助数据库):db1db2。一个辅助Mongo 崩溃并丢失了数据。现在,当这个 Mongo 重新启动时,它将恢复并从主数据库复制 both db1db2

由于这样的恢复需要很长时间,我希望这个辅助 Mongo 复制db1(但不是db1db2)恢复。我可以用 Mongo 2.4.6 来做吗?

【问题讨论】:

    标签: mongodb recovery


    【解决方案1】:

    MongoDB 尚不具备选择性复制的能力。

    随意打开一个 JIRA:https://jira.mongodb.org/secure/Dashboard.jspa 可能已经有一个,但我的 Google 搜索无法找到它。

    当然,为了加快速度,这里的一种选择是实际将数据从一个位置物理复制到另一个位置,而无需等待 MongoDB 复制开始。

    正如@Stennie 提到的,这实际上是用于选择性复制的 JIRA:https://jira.mongodb.org/browse/SERVER-1559

    【讨论】:

    • 谢谢(“选择性”是一个更好的术语,我将更改标题)。您提到的物理副本可能是一个有趣的选择。你会怎么做?我可以在 Mongo 中“导出”db1 并“导入”它而不是恢复吗?
    • @Michael 导出是一种方法,但另一种方法是直接复制数据文件,您的数据库将以文件命名,您实际上可以在数据文件夹中看到它,幸运的是 mongodbs 数据文件是便携式
    • @Michael:对于功能请求,您可以在 MongoDB 问题跟踪器中观看/支持SERVER-1559,它建议添加可以存储数据库或集合子集的副本集节点类型。值得注意的是,这个节点将不同于当前提供数据冗余和故障转移的 secondary 概念。部分副本节点永远不会成为主节点,如果允许该节点确认写入,则会混淆 write concern 的语义。
    • @Stennie 添加到答案以供参考:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    相关资源
    最近更新 更多