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

replSetSyncFrom

在此页面上

  • 说明
  • 兼容性
  • 语法
  • 命令字段
  • 行为
replSetSyncFrom

暂时覆盖当前 mongod的默认同步目标。 此操作对于测试不同模式以及设立成员未从所需托管复制的情况非常有用。

提示

mongosh 中,还可以通过 rs.syncFrom() 辅助方法运行此命令。

辅助方法对 mongosh 用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。

admin数据库中运行replSetSyncFrom

此命令可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

重要

M 0 、M 2 、M 5和 M 10 + 集群不支持此命令。 有关更多信息,请参阅不支持的命令。

该命令具有以下语法:

db.adminCommand(
{
replSetSyncFrom: "hostname<:port>"
}
)

该命令采用以下字段:

字段
类型
说明
replSetSyncFrom
字符串

该成员应从中进行复制的副本集成员的名称和端口号。 使用[hostname]:[port]表单。

副本集1 vote节点无法从0 votes节点同步。

如果运行replSetSyncFrom时初始同步操作正在进行中, replSetSyncFrom则会停止进行中的初始同步,并使用新目标重新启动同步进程。

仅根据需要修改默认同步逻辑,并且始终谨慎操作。

要同步的节点必须是数据集中数据的有效来源。如需从节点同步,节点必须:

  • 有数据。在启动或恢复模式下不能是仲裁节点,必须能够响应数据查询。

  • 可访问。

  • 在副本集配置中是同一集的成员。

  • 使用 members[n].buildIndexes 设置构建索引。

  • 集合中的另一个成员,以防止与自身同步。

如果尝试从落后当前节点 10 秒以上的节点复制,mongod 将记录警告,但仍会从落后的节点复制。另请参阅“复制延迟和流量控制”。

replSetSyncFrom提供对默认行为的临时覆盖。 在以下情况下, mongod将恢复为默认同步行为:

  • mongod 实例将重新启动。

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

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

有关使用replSetSyncFrom的更多信息,请参阅配置自管理从节点的同步目标。

后退

replSetStepDown