将独立运行版升级至 7.0
使用本教程从 MongoDB 6升级。 0至 MongoDB 7 。 0 。要升级到同一版本系列中的新补丁版本,请参阅升级到 MongoDB 的最新补丁版本。
在升级到 MongoDB 7之前,请熟悉本文档的内容,包括彻底查看先决条件。 0 。
以下步骤概述了将独立运行的实例 mongod
从版本 6.0 升级到 7.0 的过程。
如果您需要有关升级到7的指导。 0 、 MongoDB 专业服务提供主要版本升级支持,帮助确保 MongoDB 应用程序平稳过渡而不中断。
升级建议和清单
升级时,请考虑以下几点:
升级版本路径
将现有 MongoDB 部署升级到7 。 0 ,您必须运行6 。 0 - 系列版本。
要从早于6的版本升级。 0 - 系列,您必须连续升级主要版本,直到升级到6 。 0 -系列。例如,如果您正在运行5 。 0 - 系列,您必须先升级到6 。 0 ,然后才能升级到7 。 0 。
检查驱动程序兼容性
在升级 MongoDB 之前,请检查您是否正在使用 MongoDB 7 。 0兼容驱动程序。请查阅特定驱动程序的驱动程序文档,验证与 MongoDB 7的兼容性。 0 。
在不兼容的驱动程序上运行的升级部署可能会遇到意外或未定义的行为。
准备
在开始升级之前,请参阅MongoDB 7中的兼容性更改。 0文档,以确保您的应用程序和部署与 MongoDB 7兼容。 0 。在开始升级之前,请解决部署中的不兼容问题。
在升级 MongoDB 之前,请务必在临时环境中测试您的应用程序,然后再将升级部署到生产环境。
降级考虑因素
从 MongoDB 7.0 开始,如果没有支持人员的帮助,您无法降级部署的二进制版本。
要了解详情,请参阅《将 7.0 降级至 6.0》。
先决条件
特征兼容性版本
6.0 实例必须将featureCompatibilityVersion
设置为"6.0"
。 要检查featureCompatibilityVersion
:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
该操作返回具有当前特征兼容性版本的文档:
{ featureCompatibilityVersion : { version : "6.0" }, ok: 1}
要将featureCompatibilityVersion
设置或更新为6.0
,请运行以下命令:
db.adminCommand( { setFeatureCompatibilityVersion: "6.0" } )
有关更多信息,请参阅 setFeatureCompatibilityVersion
。
考虑转换为副本集
在升级之前,请考虑将独立运行部署转换为副本集。副本集是 MongoDB 的推荐部署配置。
下载7 。 0二进制文件
通过包管理器
如果您从 MongoDB apt
、 yum
、 dnf
或zypper
存储库安装 MongoDB,则应升级到7 。 0使用包管理器。
按照相应的7进行操作。 Linux 系统的0安装说明。这将涉及为新版本添加存储库,然后执行实际的升级过程。
手动
如果您尚未使用包管理器安装 MongoDB,则可以从MongoDB 下载中心手动下载 MongoDB 二进制文件。
请参阅7 。 0安装说明以了解更多信息。
升级程序
启用向后不兼容的7 。 0功能。
此时,您可以运行7 。不含7的0二进制文件。与6不兼容的0功能。 0 。
要启用这些7 。 0功能,则将功能兼容性版本 ( fCV
) 设置为7 。 0 。
提示
启用这些向后不兼容的功能可能会使降级过程变得复杂,因为在降级之前,您必须删除任何持续存在的向后不兼容的功能。
升级后,建议让部署在不启用这些功能的情况下稳定运行一段时间,以确保降级回老版本的可能性极小。当确信降级的可能性非常小时,请启用这些功能。
针对 admin
数据库运行 setFeatureCompatibilityVersion
命令:
db.adminCommand( { setFeatureCompatibilityVersion: "7.0", confirm: true } )
此命令执行的必须是对内部系统集合的写入。如果由于任何原因该命令未能成功完成,您都可以安全地重试该命令,因为该操作是幂等的。
其他升级程序
要升级副本集,请参阅将副本集升级到7 。 0 。
要升级分片集群,请参阅将分片集群升级到7 。 0 。