这甚至可能吗?我怎样才能从slaveDelay-Secondary恢复数据? 我能想到的唯一方法是关闭副本集的所有其他正在运行的成员,并将slaveDelay-Secondary数据文件夹复制到其他成员并重新启动副本集。 我在MongoDB文档中找不到任何内容。也许我错过了一些必要的东西,解决方案太明显了。
答案 0 :(得分:4)
您有几种选择:
基本上:你只需要关闭复制集的所有其他成员,然后应用引用页面上描述的程序。
答案 1 :(得分:0)
要使从属设备同步,您可以copy data files
停止写入数据库,也可以尝试使用mongodump
和mongorestore
方法。请检查link for reference.
您可以按照以下步骤强制辅助副本成为主要副本:
Step 1:
连接到成员并检查当前配置
<强> rs.conf()强>
Step 2:
将当前配置保存到另一个变量。
x = rs.conf()
Step 3:
选择要作为主要成员的成员的ID,主机和端口。
x.members = [{&#34; _id&#34;:1,&#34; host&#34; :&#34; localhost.localdomain:27071&#34;}]
Step 4:
强制重新配置它们。
rs.reconfig(x,{force:true})
现在所需的成员将被提升为主要成员。