必须操作:升级前使用mongodump备份所有数据库,防止数据丢失。
命令示例:
mongodump --out /path/to/backup # 指定备份目录(如/home/user/mongo_backup)
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.2.18.tgz
根据系统初始化工具选择对应命令:
sudo systemctl stop mongod
sudo service mongod stop
默认数据目录为/var/lib/mongo(可通过mongod.conf中的storage.dbPath确认),备份以防止升级失败:
sudo mv /var/lib/mongo /var/lib/mongo_old # 移动旧数据目录到安全位置
tar -zxvf mongodb-linux-x86_64-4.2.18.tgz
/usr/local/mongodb):sudo mv mongodb-linux-x86_64-4.2.18 /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
/etc/mongod.conf(或自定义配置文件)中的关键参数:
storage.dbPath指向旧版本数据目录(如/var/lib/mongo,需与旧版本一致);systemLog.path(如/var/log/mongodb/mongod.log)存在且有写入权限;net.bindIp(如0.0.0.0,需配合防火墙设置)。storage:
dbPath: /var/lib/mongo # 必须与旧版本一致
systemLog:
path: /var/log/mongodb/mongod.log
logAppend: true
net:
bindIp: 127.0.0.1,0.0.0.0 # 允许本地和远程访问
port: 27017
sudo systemctl start mongod
sudo service mongod start
mongo --eval 'db.version()' # 输出新版本号(如4.2.18)
sudo systemctl status mongod # 应显示"active (running)"
use admin
db.adminCommand({setFeatureCompatibilityVersion: "4.2"})
db.adminCommand({getParameter: 1, featureCompatibilityVersion: 1})
输出应包含:{"featureCompatibilityVersion":{"version":"4.2"}}
sudo rm -rf /var/lib/mongo_old
通过以上步骤,可安全完成Linux环境下MongoDB的版本升级。建议升级前详细阅读官方文档,确保符合特定版本的升级要求。