在 CentOS 上升级 MongoDB,需要根据你当前的安装方式(YUM 仓库 / TGZ 包)和版本跨度(小版本升级 or 大版本升级)来选择方案。下面按最常见、最安全的 YUM 方式说明。
mongodump --out /data/mongodb_backup_$(date +%F)
mongod --version
# 或
mongo --version
cat /etc/redhat-release
编辑 repo 文件(示例为 MongoDB 6.0):
vi /etc/yum.repos.d/mongodb-org.repo
内容示例(CentOS 7):
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
⚠️ 如果是 CentOS 8,把
7改成8
yum clean all
yum makecache
systemctl stop mongod
yum update mongodb-org
或指定版本:
yum install -y mongodb-org-6.0.14
systemctl start mongod
systemctl enable mongod
mongod --version
⚠️ 不能跨大版本直接升级
正确顺序:
4.2 → 4.4 → 5.0 → 6.0
每一步:
systemctl stop mongod
mv /usr/local/mongodb /usr/local/mongodb_old
tar -zxvf mongodb-linux-x86_64-6.0.14.tgz -C /usr/local/
mv /usr/local/mongodb-linux-x86_64-6.0.14 /usr/local/mongodb
/usr/local/mongodb/bin/mongod -f /etc/mongod.conf
mongo
> db.runCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
如需升级兼容版本:
db.adminCommand({ setFeatureCompatibilityVersion: "6.0" })
查看日志:
journalctl -xe
cat /var/log/mongodb/mongod.log
通常是跨大版本升级导致,必须逐步升级。
如果你愿意,可以告诉我:
我可以给你精准升级命令。