升级前必须备份所有数据库,防止操作失误或异常导致数据丢失。推荐使用mongodump工具全量备份:
mongodump --out /path/to/backup_dir # 指定备份输出目录
备份完成后,验证备份文件的完整性(可通过mongorestore --dryRun模拟恢复)。
通过以下命令确认当前MongoDB版本:
mongod --version # 或 mongo --eval 'db.version()'
查阅MongoDB官方升级文档,确认支持的升级路径(如3.4→3.6→4.0→4.2→4.4→5.0→6.0→7.0→8.0)。禁止跨内核版本直接升级(例如3.4不能直接升级到4.0,需逐步升级)。
关注新版本的变更内容(如默认配置调整、废弃功能、性能优化)、兼容性要求(如存储引擎、驱动版本)及已知问题,确保应用与新版本兼容。
根据系统初始化工具选择对应命令:
sudo systemctl stop mongod
sudo service mongod stop
若已通过官方仓库安装,可直接更新包:
# Ubuntu/Debian
sudo apt update
sudo apt install --only-upgrade mongodb-org
# CentOS/RHEL
sudo yum update mongodb-org
.tgz格式);wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-6.0.5.tgz # 示例链接
tar -zxvf mongodb-linux-x86_64-rhel80-6.0.5.tgz
sudo mv mongodb-linux-x86_64-rhel80-6.0.5 /usr/local/mongodb
sudo ln -s /usr/local/mongodb/bin/mongod /usr/bin/mongod
sudo ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo
编辑MongoDB配置文件(通常位于/etc/mongod.conf),根据新版本要求调整参数:
storage.dbPath指向正确的数据目录;systemLog.path指向正确的日志文件;net.bindIp(如0.0.0.0);security.authorization设置为enabled;featureCompatibilityVersion(如从4.4升级到5.0,需设置为"5.0")。# Systemd系统
sudo systemctl start mongod
# SysVinit系统
sudo service mongod start
检查服务状态,确保启动成功:
sudo systemctl status mongod # 或 sudo service mongod status
连接到MongoDB Shell,检查版本信息:
mongo --eval 'db.version()' # 应输出新版本号
或使用mongosh(MongoDB Shell的新版本):
mongosh --eval 'db.version()'
use admin
db.adminCommand({setFeatureCompatibilityVersion: "新版本号"}) // 如"6.0"
# 卸载新版本
sudo apt remove mongodb-org # 或 sudo yum remove mongodb-org
# 重新安装旧版本
sudo apt install mongodb-org=旧版本号 # 或 sudo yum install mongodb-org=旧版本号
mongod.log是否有错误);mongod --config /etc/mongod.conf --fork --logpath /var/log/mongod.log);tail -f /var/log/mongod.log),定位错误原因(如权限问题、路径错误)。mongorestore /path/to/backup_dir);