千家信息网

3分钟完成MongoDB2.6升级3.0

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,3分钟完成MongoDB2.6升级3.0前言Part1:写在最前自从3.0版本起,MongoDB支持了WT存储引擎,这个引擎相对老的MMAPv1存储引擎来讲,具有更高的压缩比,且支持文档级并发控制。也
千家信息网最后更新 2026年11月01日3分钟完成MongoDB2.6升级3.0

3分钟完成MongoDB2.6升级3.0

前言

Part1:写在最前

自从3.0版本起,MongoDB支持了WT存储引擎,这个引擎相对老的MMAPv1存储引擎来讲,具有更高的压缩比,且支持文档级并发控制。也正因为WT的优良特性,在MongoDB3.2版本起,WT存储引擎作为了默认存储引擎。本文将简述2.6升级3.0的过程和注意事项

实战

Part1:建议和清单

限制

要升级到3.0版本,首先现有集群必须是2.6版本。如果是早期的版本,则必须先升级到2.6版本才可以升级3.0版本。如果2.6集群已经开启了认证模式,升级前需进行authSchema 版本升级,详见关于认证章节。

准备

在开始升级之前,请参阅MongoDB 3.0文档中的兼容性更改,以确保您的应用程序和部署与MongoDB 3.0兼容。 在开始升级之前解决部署中的不兼容问题。

升级MongoDB之前,请先在临时环境中测试应用程序,以确保升级顺利进行

降级版本的限制

升级到3.0后,您只能降级到2.6.8或更高版本。

注意:避免重新配置包含不同MongoDB版本成员的副本集,因为MongoDB版本中的权限验证规则可能会有所不同。

低版本升级先决条件

要将副本集升级到3.0,所有副本集成员必须运行版本2.6。 要从早期的MongoDB版本升级副本集,请先将副本集的所有成员升级到最新的2.6系列版本,然后按照以下步骤从MongoDB 2.6升级到3.0。

Part2:升级过程

先升级副本集中的一个Secondary

关闭mongod实例,并用3.0二进制文件的bin目录代替2.6二进制文件的bin目录。

重新启动成员并等待成员恢复到Secondary状态,然后再升级下一个Secondary成员。 要检查成员的状态,请在mongo shell中发出rs.status()。

stepdown副本集中的Primary

将mongo shell连接到Primary服务器并使用rs.stepDown()来降级主服务器并强制其他节点选举新的Primary服务器。

升级Primary服务器

当rs.status()显示原Primary节点已经变为Secondary,新的PRIMARY已经被选举出来的时候,开始升级原Primary节点:

关闭数据库,并用3.0二进制文件的bin目录代替2.6二进制文件的bin目录。

启动原Primary节点。

Part3:关于认证

authSchema

2.6版本开启认证模式要升级3.0,必须先升级authSchema。

运行authSchemaUpgrade并升级3.0后,无法降级到2.6并开启认证模式

查看authSchema版本是不是3.0(at least)

use admin

db.system.version.find( { _id: "authSchema" })

升级SchemaUpgrade,复制集的话在主库执行该命令

db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1 });

Part4:变更存储引擎

您必须使用MongoDB 3.0或更高版本才能使用WiredTiger存储引擎。 如果从早期版本的MongoDB升级,请参阅升级到MongoDB 3.0或升级到MongoDB 3.2的指导,然后再继续更改存储引擎。

在启用新的WiredTiger存储引擎之前,请确保所有副本集/分片集群成员至少运行MongoDB 2.6.8版,最好是3.0.0版或更高版本。副本集可以具有不同存储引擎的成员。 因此,您可以更新成员以滚动的方式使用WiredTiger存储引擎。 在更改所有成员使用WiredTiger之前,您可能希望在一段时间内运行混合存储引擎。 但是,性能会因工作量而异。

在configurefile中添加engine: "wiredTiger",并更换-dbpath 后重启实例

由于dbpath是新目录,副本集会执行initial sync进行重新同步,重新同步的时间取决于数据量的大小和网络情况。

为使用WiredTiger存储引擎运行的新mongod实例准备数据目录。 mongod必须具有此目录的读写权限。 您可以删除已停止的辅助成员的当前数据目录的内容,也可以完全创建新的目录。

与WiredTiger的mongod不会从使用不同的存储引擎创建的数据文件开始。

Part5:Driver兼容性

绝大部分dirver版本只要支持3.0也支持3.2

更多driver兼容性参见:

https://docs.mongodb.com/ecosystem/drivers/driver-compatibility-reference/



Warning:警告

2.6升级3.0

升级后不能降级低于2.6.8版本

2.6版本开启认证模式要升级3.0,必须先升级authSchema。

运行authSchemaUpgrade并升级3.0后,无法降级到2.6并开启认证模式





--总结--

同小版本升级一样,2.6升级3.0版本没有什么难度,主要在于如果您在2.6版本已经开启了认证,那么一定要做好authSchema的相关升级操作,并了解降级的限制。由于编写时间也很仓促,文中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正。


喜欢的读者可以点个赞来个关注,您的赞美和关注是对笔者继续发文的最大鼓励与支持!

升级 版本 引擎 存储 成员 副本 目录 认证 运行 数据 文件 模式 支持 不同 二进制 服务器 节点 服务 兼容性 实例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 上海互联网科技有限公司 金融科技与互联网金融 齐家互联网科技 互联网科技的英文 电子科技大学互联网 广州紫鲸互联网科技 狮子座互联网科技培训 互联网高科技股票 滨湖区互联网智能科技产品供应 宁夏众和广鑫互联网科技有限公司 互联网与医疗科技 恒生互联网科技指数跳水 佛山市翊博互联网络科技有限公司 富国互联网科技002692 江苏互联网科技小贷 普陀区互联网教育科技管理办法 互联网科技新闻 美国五大互联网科技公司市值多少 黑龙江互联网科技公司 河南真二互联网科技有限公司 小马过河互联网科技 天扬科技互联网广告 山东吉时兔互联网科技有限公司 老年人脱离互联网科技的作文 科技赋能互联网健康 汽车互联网创新科技园 佛山市拉法互联网科技有限公司 2021互联网科技公司排名 上海创道互联网络科技有限公司
0