这是一个涉及数据库运维的操作,需要谨慎处理。
MongoDB 集群配置删除与重新绑定
1. 理解 MongoDB 集群配置存储位置
MongoDB 集群配置主要存储在 Config Servers 中:
- Config Database (plain复制
config): 包含分片集群的元数据 - Local Database: 每个节点存储的副本集配置
2. 删除集群配置的方法
场景 A: 完全重置分片集群
1 | # 1. 停止所有 mongos 路由进程 |
场景 B: 仅移除分片(保留集群框架)
1 | // 连接到 mongos |
场景 C: 重置副本集配置(非分片集群)
1 | // 连接到副本集成员 |
3. 重新绑定新配置
步骤 1: 重新配置 Config Server
1 | // 初始化新的 Config Server 副本集 |
步骤 2: 启动 mongos 并配置分片
1 | # 启动 mongos,指向新的 config server |
1 | // 连接到 mongos 添加分片 |
4. 关键注意事项
| 操作 | 风险等级 | 说明 |
|---|---|---|
| 删除 Config Server 数据 | 🔴 极高 | 会丢失所有分片元数据 |
| 强制 rs.reconfig | 🟡 中等 | 可能导致脑裂 |
| removeShard | 🟢 较低 | 数据会自动迁移 |
| 停止 mongos | 🟢 低 | 仅影响路由,不丢数据 |
5. 安全操作建议
1 | # 操作前务必备份 |
6. 常见问题排查
1 | // 检查 Config Server 状态 |
⚠️ 重要提醒:
- 在生产环境执行前,务必在测试环境验证
- 确保有完整的数据备份
- 操作期间会有服务中断,选择维护窗口执行
- 如果是云托管 MongoDB (Atlas),请使用提供商的控制台操作,不要手动修改