这两个命令都与 MongoDB 的副本集(Replica Set)相关,但它们提供的信息类型和用途不同:
replSetGetConfig
replSetGetConfig
命令返回副本集的配置信息,主要包括:
- 副本集的静态配置参数
- 成员节点的定义(包括优先级、投票权、隐藏状态等)
- 副本集的协议版本
- 写关注设置
- 超时配置
这个命令返回的是副本集的预期配置,即管理员设置的配置,而非当前实际运行状态。
示例:
javascript
rs.conf() // 或直接使用 db.adminCommand({replSetGetConfig: 1})
replSetGetStatus
replSetGetStatus
命令返回副本集的运行时状态,包括:
- 各成员节点的当前状态(PRIMARY、SECONDARY等)
- 节点间的复制延迟
- 选举信息
- 同步状态
- 健康状态
- 操作时间戳信息
这个命令反映的是副本集的实时运行状况,是监控和故障排查的重要工具。
示例:
javascript
rs.status() // 或直接使用 db.adminCommand({replSetGetStatus: 1})
主要区别
-
配置 vs 状态:
replSetGetConfig
返回配置信息(应该是什么)replSetGetStatus
返回运行状态(实际情况是什么)
-
用途:
replSetGetConfig
用于查看/管理副本集配置replSetGetStatus
用于监控和故障排查
-
数据性质:
replSetGetConfig
返回相对静态的配置replSetGetStatus
返回动态变化的运行状态
在日常管理中,这两个命令通常配合使用,以全面了解副本集的配置和健康状况。