温馨提示×

CentOS系统MongoDB的版本升级步骤

小樊
52
2025-11-23 19:31:10
栏目: 云计算

CentOS 上 MongoDB 版本升级步骤

一 升级前准备

  • 备份数据:使用 mongodump 全量备份,确保可回滚。示例:mongodump --out /path/to/backup/$(date +%F)
  • 检查当前版本:
    • 服务端:mongod --version
    • 客户端:mongo --version
  • 确认升级路径:MongoDB 不支持跨多个主版本直接升级,需要按相邻主版本逐级升级(例如:4.2 → 4.4 → 5.0)。
  • 检查特性兼容版本:在 mongo shell 中执行
    db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
    升级前需确保 featureCompatibilityVersion 处于当前版本(如从 4.2 → 4.4,应为 “4.2”)。
  • 维护窗口与变更记录:通知业务方,规划停机或低峰期滚动升级策略(集群环境)。

二 使用 YUM 升级 MongoDB(推荐)

  • 创建或更新官方仓库文件 /etc/yum.repos.d/mongodb-org.repo,以目标版本为准(示例为 4.4;如需 4.2,将版本号替换为 4.2):
    [mongodb-org-4.4]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
    
  • 清理缓存并安装/升级:
    sudo yum clean all
    sudo yum install -y mongodb-org
    # 或仅升级指定版本包:sudo yum update mongodb-org-4.4
    
  • 重启服务并验证:
    sudo systemctl restart mongod
    mongod --version
    mongo --eval "db.version()"
    
    上述步骤适用于 CentOS 7/8

三 使用 RPM 包升级(无 YUM 场景)

  • 备份数据(同上)。
  • 下载目标版本的 RPM 包(示例为 4.2.22;请按实际环境选择):
    • mongodb-org-server-4.2.22-1.el7.x86_64.rpm
    • mongodb-org-shell-4.2.22-1.el7.x86_64.rpm
    • mongodb-org-tools-4.2.22-1.el7.x86_64.rpm
  • 升级命令(逐包执行,保持数据目录不变):
    sudo rpm -U mongodb-org-server-4.2.22-1.el7.x86_64.rpm
    sudo rpm -U mongodb-org-shell-4.2.22-1.el7.x86_64.rpm
    sudo rpm -U mongodb-org-tools-4.2.22-1.el7.x86_64.rpm
    
  • 重启并验证:
    sudo systemctl restart mongod
    mongod --version
    mongo --eval "db.version()"
    
    如遇异常,先检查 /etc/mongod.conf 配置与日志,必要时回滚到上一版本 RPM。

四 升级后关键操作与验证

  • 升级 featureCompatibilityVersion
    • 4.2 → 4.4
      db.adminCommand({ setFeatureCompatibilityVersion: "4.4" })
    • 4.0 → 4.2
      db.adminCommand({ setFeatureCompatibilityVersion: "4.2" })
      等待命令返回成功并确认状态。
  • 验证与监控:
    • 版本:mongo --eval "db.version()"
    • 服务状态:sudo systemctl status mongod
    • 运行指标:mongostatmongotop
  • 回滚预案:如出现兼容性或稳定性问题,先恢复备份(mongorestore),或回滚到升级前的 RPM 版本。

五 常见注意事项

  • 必须逐级升级,不能跨多个主版本(如 4.2 → 5.0 需经 4.4)。
  • 升级前将 featureCompatibilityVersion 设置为当前版本;升级完成后再提升到新版本。
  • 使用官方仓库或可信 RPM,避免混装不同来源的包。
  • 任何操作前先做完整备份;升级后及时做功能与性能回归测试。

0