文档菜单
文档首页
/
MongoDB 手册
/ / /

replSetSyncFrom

在本页

  • 描述
  • 兼容性
  • 语法
  • 命令字段
  • 行为
replSetSyncFrom

临时覆盖当前默认同步目标mongod. 此操作用于测试不同的模式,以及在集合成员未从所需主机复制时的情况。

提示

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

辅助方法对mongosh用户很方便,但它们可能不会返回与数据库命令相同级别的信息。在不需要方便性或需要额外的返回字段的情况下,请使用数据库命令。

admin数据库中运行replSetSyncFrom

此命令在以下环境中部署的实例中可用

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

重要

此命令在M0、M2、M5和M10+集群中不受支持。有关更多信息,请参阅不受支持的命令。

该命令具有以下语法

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

该命令接受以下字段

字段
类型
描述
replSetSyncFrom
字符串

此成员应从中复制的副本集成员的名称和端口号。使用[主机名]:[端口号]格式。

具有 1 票 的副本集成员不能从具有 0 票 的成员同步。

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

只有在需要的情况下修改默认的同步逻辑,并始终保持谨慎。

要从中同步的成员必须是集合中数据的有效源。要从中同步成员,成员必须

  • 拥有数据。它不能是仲裁者,在启动或恢复模式下,必须能够回答数据查询。

  • 可访问。

  • 是副本集配置中相同集合的成员。

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

  • 集合中的不同成员,以防止从自身同步。

如果您尝试从一个比当前成员落后超过10秒的成员进行复制,mongod 将记录一个警告,但仍将从延迟的成员复制。另见 复制延迟和流量控制。

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

  • mongod 实例重新启动时。

  • mongod 和同步目标之间的连接关闭时。

  • 如果同步目标落后于副本集的另一个成员超过30秒。

有关 replSetSyncFrom 的更多信息,请参阅 配置自管理次要同步目标。

返回

replSetStepDown