rs.syncFrom()
MongoDB5.0 已于 10 月2024 结束生命周期。不再支持此版本的文档。要升级5.0 部署,请参阅 MongoDB6 。0 升级程序。
定义
rs.syncFrom()
暂时覆盖当前节点的默认同步目标。
重要
mongosh 方法
本页面提供
mongosh
方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。有关数据库命令,请参阅
replSetFreeze
命令。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
以
[hostname]:[port]
的形式指定要复制的成员的名称。
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
行为
同步逻辑
如果运行 replSetSyncFrom
时初始同步操作正在进行中,replSetSyncFrom
将停止正在进行的初始同步,并使用新目标重新启动同步过程。
仅根据需要修改默认同步逻辑,并且始终谨慎操作。
目标
要同步的节点必须是数据集中数据的有效来源。如需从节点同步,节点必须:
有数据。在启动或恢复模式下不能是仲裁节点,必须能够响应数据查询。
可访问。
在副本集配置中是同一集的成员。
使用
members[n].buildIndexes
设置构建索引。集合中的另一个成员,以防止与自身同步。
如果尝试从落后当前节点 10 秒以上的节点复制,mongod
将记录警告,但仍会从落后的节点复制。另请参阅“复制延迟和流量控制”。
持久性
replSetSyncFrom
提供默认行为的临时覆盖。在下列情况下,mongod
将恢复为默认同步行为:
例子
如要在 mongosh
中使用 rs.syncFrom()
辅助:
rs.syncFrom("myHost:27017");