MongoDB版本升级需按官方推荐的顺序逐步进行,以下是核心步骤及注意事项:
一、升级前准备
- 备份数据
使用mongodump命令备份所有数据库,确保数据安全。
- 检查兼容性
- 阅读新版本发布说明,确认与旧版本的兼容性,部分版本需先升级到中间版本。
- 检查应用程序驱动是否支持新版本,提前更新驱动。
- 准备环境
- 确保系统硬件、软件满足新版本要求。
- 下载新版本安装包。
二、升级操作步骤
单机/副本集升级
- 停止服务
在Linux系统中使用sudo systemctl stop mongod停止服务。
- 替换二进制文件
解压新版本安装包,替换旧版本的可执行文件(如mongod)。
- 更新配置文件
修改/etc/mongod.conf,确保数据目录、日志路径等配置正确。
- 启动服务
使用sudo systemctl start mongod启动服务,验证是否正常运行。
- 设置功能兼容性版本(FCV)
通过db.adminCommand({setFeatureCompatibilityVersion: "新版本号"})设置,确保兼容性。
分片集群升级
- 逐个升级分片节点
先升级配置服务器,再按顺序升级分片副本集的Secondary节点,最后升级Primary节点,全程保持集群可用。
- 滚动升级副本集
- 依次关闭Secondary节点,替换二进制文件并重启,确保数据同步正常。
- 通过
rs.stepdown()降级Primary节点,升级后重新选举主节点。
三、升级后验证
- 检查版本
使用mongo --version和db.version()确认服务端和客户端版本一致。
- 验证数据与功能
检查数据完整性,测试查询、写入等核心功能是否正常。
- 监控集群状态
通过mongostat、mongotop等工具监控性能,确保无异常。
四、注意事项
- 禁止跨版本升级:必须按官方推荐的顺序逐步升级(如3.2→3.4→3.6→4.0)。
- 回滚方案:升级前备份数据,若出现问题可快速回滚到旧版本。
- 集群升级优先级:先升级Secondary节点,再升级Primary节点,避免服务中断。
参考来源: