replSetSyncFrom
描述
replSetSyncFrom
临时覆盖当前默认同步目标
mongod
. 此操作用于测试不同的模式,以及在集合成员未从所需主机复制时的情况。提示
在
mongosh
中,此命令也可以通过rs.syncFrom()
辅助方法运行.辅助方法对
mongosh
用户很方便,但它们可能不会返回与数据库命令相同级别的信息。在不需要方便性或需要额外的返回字段的情况下,请使用数据库命令。在
admin
数据库中运行replSetSyncFrom
。
兼容性
此命令在以下环境中部署的实例中可用
MongoDB Atlas:云中MongoDB部署的全托管服务
重要
此命令在M0、M2、M5和M10+集群中不受支持。有关更多信息,请参阅不受支持的命令。
MongoDB企业版:基于订阅、自管理的MongoDB版本
MongoDB社区版:源代码可用、免费使用且自管理的MongoDB版本
语法
该命令具有以下语法
db.adminCommand( { replSetSyncFrom: "hostname<:port>" } )
命令字段
该命令接受以下字段
行为
同步逻辑
如果在运行 replSetSyncFrom
时正在进行初始同步操作,replSetSyncFrom
将停止正在进行的初始同步,并使用新的目标重新启动同步过程。
只有在需要的情况下修改默认的同步逻辑,并始终保持谨慎。
目标
要从中同步的成员必须是集合中数据的有效源。要从中同步成员,成员必须
拥有数据。它不能是仲裁者,在启动或恢复模式下,必须能够回答数据查询。
可访问。
是副本集配置中相同集合的成员。
使用
members[n].buildIndexes
设置构建索引。集合中的不同成员,以防止从自身同步。
如果您尝试从一个比当前成员落后超过10秒的成员进行复制,mongod
将记录一个警告,但仍将从延迟的成员复制。另见 复制延迟和流量控制。
持久性
replSetSyncFrom
提供对默认行为的临时覆盖。在以下情况下,mongod
将恢复到默认同步行为
有关 replSetSyncFrom
的更多信息,请参阅 配置自管理次要同步目标。