Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

rs.syncFrom()

在此页面上

  • 定义
  • 兼容性
  • 行为
  • 例子
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 将恢复为默认同步行为:

  • mongod 实例将重新启动。

  • mongod 与同步目标之间的连接将关闭。

  • 如果同步目标落后于副本集的其他节点超过 30 秒。

如要在 mongosh中使用 rs.syncFrom() 辅助:

rs.syncFrom("myHost:27017");

提示

另请参阅:

后退

rs.stepDown