温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mongodb如何升级版本

发布时间:2026-11-07 21:37:56 来源:亿速云 阅读:93 作者:小樊 栏目:数据库

MongoDB 的升级方式取决于你当前的部署形态(单机 / 副本集 / 分片集群)以及安装方式(包管理 / 二进制 / Docker / 云托管)。下面我按常见场景给你一个清晰、安全的升级指南。


一、升级前必做(非常重要)

1. 查看当前版本

mongod --version
# 或
mongo --version

2. 阅读官方 Release Notes

重点看 Breaking Changes(破坏性变更): https://www.mongodb.com/docs/manual/release-notes/

⚠️ 不能跨大版本跳跃太多
例如:4.0 → 4.2 → 4.4 → 5.0 → 6.0 → 7.0
一般建议一次只升一个小版本

3. 备份数据(必须)

mongodump --out=/backup/mongo-$(date +%F)

4. 确认兼容性参数

升级副本集/分片前非常重要:

db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })

升级完成后才设置新版本 FCV。


二、单机 MongoDB 升级

方式 1:使用包管理器(Linux)

Ubuntu / Debian

sudo apt-get update
sudo apt-get install -y mongodb-org

CentOS / RHEL

sudo yum install -y mongodb-org

重启服务:

sudo systemctl restart mongod

方式 2:二进制替换(通用)

# 停止服务
systemctl stop mongod

# 下载新版本
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-7.0.0.tgz
tar -xzf mongodb-linux-x86_64-*.tgz

# 替换 bin 目录
cp mongodb-linux-x86_64-*/bin/* /usr/local/mongodb/bin/

# 启动
systemctl start mongod

三、副本集(Replica Set)升级(推荐滚动升级)

✅ 不中断业务

步骤

  1. 升级 Secondary 节点(逐个)
  2. 升级 Arbiter(如有)
  3. 降级 Primary(step down)
  4. 升级原 Primary
// 在 Primary 上执行
rs.stepDown()

每个节点升级后确认状态:

rs.status()

四、分片集群(Sharded Cluster)升级

顺序非常关键:

  1. 升级 Config Servers
  2. 升级 Mongos
  3. 升级 Shard(副本集)

每一步都使用滚动升级方式。


五、升级后必须做的事

设置 Feature Compatibility Version

db.adminCommand({ setFeatureCompatibilityVersion: "7.0" })

验证

db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })

六、Docker 方式升级

docker pull mongo:7.0
docker stop mongo
docker rm mongo

docker run -d \
  --name mongo \
  -v /data/mongo:/data/db \
  mongo:7.0

⚠️ 数据卷必须保留


七、云MongoDB(MongoDB Atlas)

  • 控制台 → Cluster → Modify → MongoDB Version
  • 自动滚动升级,无需停机

八、常见坑提醒

  • ❌ 直接从 3.6 → 6.0(不支持)
  • ❌ 升级前不备份
  • ❌ 忽略 FCV
  • ❌ WiredTiger 存储引擎变更

如果你愿意,可以告诉我:

  • 当前 MongoDB 版本
  • 部署方式(单机 / 副本集 / 分片)
  • 操作系统

我可以给你精确到命令的升级方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手