Docs 菜单

Docs 主页开发应用程序MongoDB Manual

将独立运行版升级至 5.0

在此页面上

  • 升级建议和清单
  • 先决条件
  • 下载 5.0 二进制文件
  • 升级进程
  • 其他升级程序

使用本教程从 MongoDB 4.4 升级到 MongoDB 5.0。要升级到同一发行系列中的新补丁发行版,请参阅升级到 MongoDB 的最新补丁发行版。

请熟读本文档的内容,包括彻底查看先决条件,然后再升级到 MongoDB 5.0。

以下步骤概述了将独立运行的 mongod 从版本 4.4 升级到 5.0 的过程。

如果您需要有关升级到5的指导。 0 、 MongoDB 专业服务提供主要版本升级支持,帮助确保 MongoDB 应用程序平稳过渡而不中断。

升级时,请考虑以下几点:

要将现有 MongoDB 部署升级到 5.0,您必须运行 4.4 系列版本。

要从 4.4 系列之前的版本升级,您必须连续升级主要版本,直到升级到 4.4 系列。例如,如果您运行的是 4.2 系列,则必须先升级到 4.4,然后才能升级到 5.0。

在升级 MongoDB 之前,请检查您是否正在使用 MongoDB 5 。 0兼容驱动程序。请查阅特定驱动程序的驱动程序文档,验证与 MongoDB 5的兼容性。 0 。

在不兼容的驱动程序上运行的升级部署可能会遇到意外或未定义的行为。

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

在升级 MongoDB 之前,请务必在临时环境中测试您的应用程序,然后再将升级部署到生产环境。

从 MongoDB 7.0 开始,如果没有支持人员的帮助,您无法降级部署的二进制版本。

要了解详情,请参阅《将 7.0 降级至 6.0》

在升级独立运行的 mongod 之前,请查看 5.0 性能注意事项,了解升级到 5.0 对性能的任何潜在影响。

确保 TTL 配置有效。升级之前,请删除或更正将 expireAfterSeconds 设置为 NaN 的任何 TTL 索引。在 MongoDB 5.0 及更高版本中,将 expireAfterSeconds 设置为 NaN 与将 expireAfterSeconds 设置为 0 具有相同的效果。如需了解详情,请参阅《设置为 NaN 时的 TTL expireAfterSeconds 行为》

升级前,请确认 mongod 实例已完全关闭

4.4 实例的 featureCompatibilityVersion 必须设置为 "4.4"。要查看 featureCompatibilityVersion

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

该操作返回的结果应包含 "featureCompatibilityVersion" : { "version" : "4.4" }

要设置或更新 featureCompatibilityVersion,请运行以下命令:

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

有关更多信息,请参阅 setFeatureCompatibilityVersion

在升级之前,请考虑将独立运行部署转换为副本集。副本集是 MongoDB 的推荐部署配置。

如果您从 MongoDB aptyumdnfzypper 存储库安装 MongoDB,则应使用包管理器升级到 5.0。

请按照适用于您的 Linux 系统的相应的 5.0 安装说明进行操作。这将涉及为新版本添加存储库,然后执行实际的升级过程。

如果您尚未使用包管理器安装 MongoDB,则可以从MongoDB 下载中心手动下载 MongoDB 二进制文件。

请参阅 5.0 安装说明了解更多信息。

1

关闭 mongod 实例。将现有二进制文件替换为 5.0 mongod 二进制文件。

使用 5.0mongod 重新启动部署。

2

此时,您可以运行 5.0 二进制文件,而不使用与 4.4 不兼容的 5.0 功能

要启用这些 5.0 功能,请将功能兼容性版本 (fCV) 设置为 5.0。

提示

启用这些向后不兼容的功能可能会使降级过程变得复杂,因为在降级之前,您必须删除任何持续存在的向后不兼容的功能。

升级后,建议让部署在不启用这些功能的情况下稳定运行一段时间,以确保降级回老版本的可能性极小。当确信降级的可能性非常小时,请启用这些功能。

针对 admin 数据库运行 setFeatureCompatibilityVersion 命令:

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

此命令执行的必须是对内部系统集合的写入。如果由于任何原因该命令未能成功完成,您都可以安全地重试该命令,因为该操作是幂等的。

← MongoDB 5.0 中的兼容性更改