使用mongod --version命令查看当前MongoDB版本(如4.4.6),并前往MongoDB官方网站(downloads.mongodb.com)下载目标版本的安装包(选择与Linux发行版匹配的.rpm/.deb包或压缩包)。需确保目标版本支持当前系统内核版本(如CentOS 7需选择兼容的MongoDB 4.x/5.x版本)。
升级前必须备份所有数据库,防止操作失误导致数据丢失。推荐使用mongodump工具备份到指定目录:
mongodump --out /path/to/mongodb_backup_$(date +%Y%m%d)
备份完成后,验证备份文件的完整性(可通过mongorestore --dryRun模拟恢复过程)。
featureCompatibilityVersionfeatureCompatibilityVersion(FCV)决定了数据库是否启用新版本的功能。升级前需确认当前FCV是否支持目标版本:
5.0;6.0。执行以下命令查看当前FCV:
mongo --eval 'db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })'
若FCV低于要求,需先升级FCV(以升级至5.0为例):
mongo --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "5.0" })'
再次验证FCV是否更新成功。
根据系统初始化工具选择对应命令:
sudo systemctl stop mongod
sudo service mongod stop
停止后,通过ps -ef | grep mongod确认服务已完全停止。
若旧版本是通过包管理器(如apt/yum)安装的,建议先卸载以避免冲突:
sudo apt-get purge mongodb-org*
sudo apt-get autoremove
sudo yum remove mongodb-org*
卸载后,保留旧版本的数据目录(如/var/lib/mongo),后续需将数据迁移至新版本。
.deb包后,执行:sudo dpkg -i mongodb-org_<version>_amd64.deb
.rpm包后,执行:sudo yum install mongodb-org-<version>.rpm
若官方未提供包管理器版本,可下载压缩包手动安装:
# 解压下载的压缩包
tar -zxvf mongodb-linux-x86_64-<version>.tgz -C /opt
# 创建符号链接(可选,方便全局调用)
sudo ln -s /opt/mongodb-linux-x86_64-<version>/bin/* /usr/local/bin/
编辑/etc/mongod.conf(默认配置文件路径),确保以下参数正确:
storage.dbPath:指向旧版本的数据目录(如/var/lib/mongo);systemLog.path:指向旧版本的日志文件路径(如/var/log/mongodb/mongod.log);net.port:保持与旧版本一致的端口(默认27017)。根据系统初始化工具启动服务:
sudo systemctl start mongod
sudo systemctl enable mongod # 设置开机自启
sudo service mongod start
启动后,检查服务状态:
sudo systemctl status mongod # Systemd
sudo service mongod status # SysVinit
若状态显示为active (running),则说明服务启动成功。
连接MongoDB实例,检查版本信息:
mongo --eval 'db.version()'
或使用mongosh(MongoDB Shell 5.0+):
mongosh --eval 'db.version()'
确认输出的版本号与目标版本一致。
若升级成功且运行稳定,可清理旧版本文件以释放磁盘空间:
/opt/mongodb-old-version);/var/lib/mongo_old,若已通过mongorestore恢复数据);sudo apt-get clean/sudo yum clean all)。