CentOS 上 MongoDB 升级指南
一 升级前准备
mongodump --out /path/to/backup。mongod --version、mongo --eval "db.version()"、systemctl status mongod。db.adminCommand({getParameter: 1, featureCompatibilityVersion: 1}),升级前将其设置为当前大版本(例如升级到 4.4 前设为 “4.2”)。二 通过 YUM 在线升级(推荐)
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
sudo yum update mongodb-org-6.0sudo yum install -y mongodb-orgsudo systemctl restart mongodmongod --version、mongo --eval "db.version()"三 二进制替换升级(适用于非 YUM 安装或自定义路径)
db.shutdownServer();如异常关闭,需清理 data 目录/mongod.lock 后再启动。cp /usr/local/mongodb/bin /usr/local/mongodb/bin.bak、cp /etc/mongod.conf /etc/mongod.conf.bak。wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-<version>.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-<version>.tgz
cd /usr/local/mongodb
mv bin old_bin && mv mongodb-linux-x86_64-rhel70-<version>/bin .
# 或仅替换:install_compass、mongo、mongod、mongos
./bin/mongod --config /etc/mongod.conf;连接后执行 db.version() 确认。四 升级后验证与回滚
systemctl status mongod 为 active (running)。db.adminCommand({getParameter: 1, featureCompatibilityVersion: 1})db.adminCommand({setFeatureCompatibilityVersion: "4.4"})五 常见问题与处理
sudo yum install -y libcurl openssl xz-libs。sudo setenforce 0 验证,生产环境建议配置正确的 SELinux 策略而非永久关闭。sudo yum remove mongodb-org*,再清理 /var/lib/mongo 与 /var/log/mongodb 后重装。