MongoDB会定期发布新版本。您如何接收这些版本以及您对时间的控制程度取决于您运行MongoDB 的方式。根据您的部署类型,您应该为以不同方式运行新版本做好准备。
本页解释了MongoDB版本号的平均值、发布类型以及升级的一般方式。有关您的部署的特定过程和策略,请参阅全文中的链接。
MongoDB版本是如何编号的
MongoDB版本号的形式为 X.Y.Z:
X 是主要版本。此处的更改表示可能包含向后不兼容的更改和新功能的发布,这些更改和新功能以早期版本无法读取的格式保留数据。
Y 是次要版本。次要版本提供介于主要版本之间的增量功能,可用性取决于部署类型。
Z 是补丁版本。补丁版本包含修复,并在其发布系列中向后兼容。
驱动程序、 MongoDB Shell和MongoDBDatabase Tools版本独立于数据库服务器。驾驶员版本号与服务器版本号不对应。要学习;了解哪些驾驶员版本适用于哪些服务器版本,请参阅您的驾驶员的兼容性页面。
发布类型
主要发布版本
主要版本引入了新功能,并可能包括向后不兼容的更改。 MongoDB支持Atlas和自管理部署的主要版本。
次要版本
次要版本在主要版本之间以更快的节奏提供功能。
从MongoDB 8.2 开始,次要版本可用于Atlas自动升级、 Enterprise Advanced和 Community 自托管部署。从MongoDB 9.0 开始,次要版本只能通过Atlas自动升级获得。
注意
次要版本可能不支持所有功能,特别是Atlas实时迁移和 mongosync。
功能更新版本
从MongoDB 9.0 开始,功能更新版本是每年一次的次要发布,编号为 x.5,可用于Atlas和自托管部署。功能更新版本为Atlas手动升级和自管理部署提供了一种获取增量功能的方法,而无需等待下一个主要版本。它们具有与其扩展的主要版本相同的生命周期结束时间表和扩展生命周期支持资格。
重要
要接收MongoDB 9.0 及更高版本中的所有次要版本,请将您的Atlas 集群配置为 Latest Version With Auto Upgrades。所有其他部署仅适用于功能更新发布,不适用于其他次要版本。
补丁版本
补丁版本包含修复,并且仅在其自己的主要版本和次要发布系列中向后兼容。您应始终运行主要版本和次要版本的最新补丁发布。
发布候选版本
候选发布版本是用于评估新功能的预发布版本。它们不适合生产部署。
版本如何实现部署
MongoDB版本在可用于自我管理部署之前到达Atlas 。
重要
配置为接收最新版本的Atlas自动升级集群可能会在某个发布可供自行下载和安装之前运行该发布。
这在实践中意味着什么取决于运行MongoDB 的方式:
Atlas手动升级集群保持您控制的主要版本节奏。
Atlas自动升级集群会在Atlas推出新版本时自动接收新版本。
自管理(Enterprise Advanced或社区版)部署允许您选择何时下载和安装每个发布。在您采取行动之前,一切都不会改变。
特征兼容性版本
升级MongoDB二进制文件和启用新版本的功能是两个独立的步骤。
特征兼容性版本(FCV) 控制是否启用以早期版本无法读取的格式写入数据的功能。升级二进制文件后,您的部署将继续以之前的FCV运行,直到您提出升级为止。这是故意为之,虽然FCV仍为早期版本,但您仍保留降级的能力。
注意
在Atlas自动升级时, Atlas在自动查看MongoDB二进制文件的部署信号后,会自动推进FCV以匹配每个新的MongoDB版本。您无法控制FCV。
提高FCV是不点。一旦启用以新格式保存数据的功能,就无法在Atlas上降级。
有关命令参考,请参阅MongoDB手册中的 setFeatureCompatibilityVersion。有关FCV如何在Atlas上工作,包括在升级之前固定FCV ,请参阅升级集群的MongoDB主版本。
支持生命周期和生命周期结束
每个MongoDB主要版本的支持期为五年,其中Enterprise Advanced客户可选获两年延长生命周期支持 (ELS) 期。当一个版本达到生命周期结束时,它不再收到修复,包括安全修复, MongoDB也不再维护其文档。
处理因部署类型而异:
在Atlas上, MongoDB会在版本生命周期结束之前通知您版本截止日期。在此日期之后, Atlas会将您的集群升级到MongoDB的当前默认目标版本。
重要
MongoDB的当前默认目标版本并不总是紧随其后的主要版本。
自管理部署要求您在生命周期结束之前进行升级。
要查看哪些平台当前支持哪些版本,请参阅MongoDB Enterprise支持的平台或MongoDB Community支持的平台。
选择升级路径
如果运行 | 版本节奏 | 从这里开始 |
|---|---|---|
Atlas手动升级 | 您可以选择何时迁移到下一个主要版本。 | |
Atlas自动升级 | Atlas会自动为您升级。使用维护波动来控制跨环境的顺序。 | |
Enterprise Advanced | 时间由您选择。 | |
Community | 时间由您选择。 |
自管理升级注意事项
对于自管理部署,升级过程因拓扑结构异。每个版本的升级页面都链接到独立运行、副本集和分片集群过程。
在 9.0 之前的MongoDB版本中,升级自托管部署时无法跳过次要版本。要在次要版本之间移动,必须按顺序升级每个版本。
从MongoDB 9.0 开始,Enterprise Advanced部署除了主要版本之外仅接收年度功能更新发布。发布周期内不再需要跳过一系列次要版本。
升级之前
无论您的部署类型如何,在主要版本升级之前都值得做三件事:
降级
降级受到限制,并且限制因部署类型而异。选择您的部署类型以查看应用于您的限制。
降级要求在原始升级之前未提升或固定FCV 。
集群只能降级到前一个发布,可以是以前的主要版本或该主要版本的功能更新发布,并且不能跨多个版本链接降级。
使用功能更新发布的集群可以降级到自己的主要版本。
除极少数例外,降级都会针对目标版本的最新补丁发布。
降级后,新版本中引入的功能将不再可用,并且MongoDB不支持从新的较低位置进行第二次降级。
您无法对集群进行降级。
注意
要过渡到有资格降级的主要版本节奏,请在主要版本发布之后 (
x.0.0) 和该周期中的第一个次要发布(x.1.0) 之前以自助动作进行切换。要学习;了解更多信息,请参阅支持自动升级的最新版本。
- 仅支持相邻版本之间的降级,并且需要针对集群配置的步骤。
降级要求在原始升级之前未提升或固定FCV 。
集群只能降级到前一个发布,可以是以前的主要版本或该主要版本的功能更新发布,并且不能跨多个版本链接降级。
使用功能更新发布的集群可以降级到自己的主要版本。
除极少数例外,降级都会针对目标版本的最新补丁发布。
降级后,新版本中引入的功能将不再可用,并且MongoDB不支持从新的较低位置进行第二次降级。