温馨提示×

centos如何升级mongodb

小樊
40
2026-07-20 03:27:56
栏目: 云计算

在 CentOS 上升级 MongoDB,推荐使用官方 yum 仓库进行升级,这样最安全、也最容易回滚。下面我按常见场景给你一个完整、可操作的流程。


一、确认当前 MongoDB 版本

mongod --version

或进入 mongo shell(老版本):

mongo

二、重要:升级前必须做的事 ✅

1️⃣ 备份数据(强烈建议)

mongodump --out /data/backup/mongo_$(date +%F)

2️⃣ 查看当前仓库版本

yum repolist | grep mongo

三、升级方式一(推荐):使用官方 YUM 仓库升级

1️⃣ 确认 MongoDB 官方仓库是否存在

查看:

ls /etc/yum.repos.d/mongodb*.repo

如果没有,先添加(以 MongoDB 6.0 为例):

cat > /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF
[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
EOF

⚠️ CentOS 8 请把 redhat/7 改成 redhat/8


2️⃣ 停止 MongoDB 服务

systemctl stop mongod

3️⃣ 升级 MongoDB

yum clean all
yum makecache
yum update mongodb-org

或指定版本升级:

yum install mongodb-org-6.0.13

4️⃣ 启动 MongoDB

systemctl start mongod
systemctl enable mongod

5️⃣ 验证版本

mongod --version

四、跨大版本升级(如 4.4 → 5.0 / 6.0)

⚠️ 不能直接跳版本

正确升级路线:

4.4 → 5.0 → 6.0 → 7.0

操作步骤(以 4.4 → 5.0 为例):

  1. 升级到 5.0 并启动
  2. 运行:
mongod --version
  1. 确认日志中无 featureCompatibilityVersion 警告
  2. 设置兼容版本:
mongo
db.adminCommand({ setFeatureCompatibilityVersion: "5.0" })

然后再升级到 6.0。


五、升级方式二:手动 RPM 升级(不推荐)

仅适用于离线环境。

rpm -Uvh mongodb-org-*.rpm

⚠️ 容易依赖冲突,不建议生产环境使用。


六、常见问题

❓ 升级后无法启动

查看日志:

journalctl -xe
cat /var/log/mongodb/mongod.log

常见原因:

  • 数据目录权限
  • WiredTiger 版本不兼容
  • featureCompatibilityVersion 未升级

❓ 升级失败如何回滚?

yum history undo last

七、生产环境建议 ✅

  • ✅ 先在测试环境升级
  • ✅ 备份 + 慢查询日志检查
  • ✅ 使用副本集(可滚动升级,零停机)
  • ✅ 不要跳过 featureCompatibilityVersion

八、我可以帮你更精确

你可以直接贴出:

cat /etc/redhat-release
mongod --version

我可以给你完全匹配你系统的升级方案(包括 CentOS 7 / 8 / Alma / Rocky)。

0