gpt4 book ai didi

mongodb - 中断后如何在mongodb中重新启动/恢复copydb()?

转载 作者:可可西里 更新时间:2023-11-01 10:29:44 24 4
gpt4 key购买 nike

mongodb 在执行 copyDb() 命令时被中断。当我想重新启动时,我得到:

db.runCommand( { copydb: 1, fromhost: "<ip>", fromdb: "<collection>", todb: "<db>", slaveOk: true } );
{
"ok" : 0,
"errmsg" : "failed to create collection \"<db>.<collection>\": collection already exists"
}

有没有办法在中断后恢复数据库的副本,或者我是否需要删除数据库并从头开始? (这不是一个好的选择,因为副本需要大约 10 天,并且已经运行了 2 天)。

最佳答案

简短的回答是否定的,没有内置的方法来恢复 copydb 操作,它本质上要求/假设在操作期间两端都具有 100% 的可用性。要重新使用 copydb 命令,您必须删除目标数据库并从头开始重新启动副本。

除了自己编写代码(这始终是一种选择)之外,我所知道的唯一可以提供接近简历的工具是 hydra ,在这种情况下,该功能仅用作从几乎完整的副本中挑选少量散乱者的方法。

另一个可能的选择是使用 MMS Backup (完全披露:我目前在 MongoDB 工作,它提供 MMS 备份作为付费服务),它将为备份数据库创建数据的定期快照,包括索引。然后,这些快照可用于通过简单的下载/传输而不是依赖复制命令来恢复到其他节点。

关于mongodb - 中断后如何在mongodb中重新启动/恢复copydb()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28412944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com