Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

将 5.0 独立运行版降级至 4.4

在此页面上

  • 降级路径
  • 创建备份
  • 访问控制
  • 先决条件
  • 步骤

在尝试任何降级之前,请先熟悉本文档的内容。

如果需要从 5.0 降级,请降级到最新的 4.4 补丁版本。

MongoDB 仅支持单版本降级。您无法降级到比当前版本落后多个版本的版本。

例如,您可以将 5.0 系列部署降级为 4.4 系列部署。但是,不支持将 4.4 系列部署进一步降级为 4.2 系列部署。

可选但建议使用。创建数据库备份。

如果您的部署启用了访问权限控制,则降级用户权限必须包括跨数据库列出和管理索引的权限。 具有 root角色的用户拥有所需的权限。

要从 5.0 降级到 4.4,必须删除保留的不兼容功能和/或更新不兼容的配置设置。其中包括:

MongoDB 5.0 更改了集群范围读关注和写关注的默认值,降级到 MongoDB 4.4 可能会将这些默认值改回。在降级之前,请考虑手动配置集群的默认读关注和写关注:

MongoDB 5.0 新增了对在文档字段名中包含 .$ 字符的支持。在降级到 MongoDB 4.4 之前,必须删除包含 .$ 字符的字段名称的所有文档。

MongoDB 5.0 支持 Slim 格式的时区数据文件。如果在部署中使用 Slim 格式的时区数据文件,如通过 --timeZoneInfo 命令行选项或 processManagement.timeZoneInfo 配置文件设置提供给 MongoDB,则您必须降级到 MongoDB 4.4.7 或更高版本,否则必须恢复时区数据文件以使用以前的非 Slim 格式的数据文件。

要降级独立运行的 featureCompatibilityVersion,请执行以下操作:

  1. mongo Shell 连接到 mongod 实例。

  2. featureCompatibilityVersion 降级为 "4.4"

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

    setFeatureCompatibilityVersion 命令对内部系统集合执行写入操作,并且是幂等的。如果由于任何原因未成功完成该命令,请在 mongod 实例上重试该命令。

删除所有与 4.4 不兼容的保留 5.0 功能。其中包括:

时间序列集合
删除所有时间序列集合
运行时审核过滤器管理
  • 通过将节点的配置文件中的 auditLog.runtimeConfiguration 设置为 false,禁用运行时审核筛选器管理。

  • 在本地配置文件中更新此实例的审核过滤器。

删除所有使用 5.0 功能的保留功能。这些功能包括但不限于:

警告

在继续执行降级过程之前,请确保已满足先决条件。

1

使用包管理器或手动下载,获得 4.4 系列的最新版本。如果使用包管理器,请为 4.4 二进制文件添加新的存储库,然后执行实际的降级过程。

重要

升级或降级副本集之前,请确保所有副本集节点都正在运行。否则,升级或降级操作将在所有节点启动后才会完成。

如果需要从 5.0 降级,请降级到最新的 4.4 补丁版本。

2

要完全关闭mongod进程,请将 mongosh连接到实例并运行:

db.adminCommand( { shutdown: 1 } )

彻底关闭 mongod 会完成所有待处理操作,将所有数据刷新到数据文件中,并关闭所有数据文件。

3

在重启之前,更新 mongod 实例的配置文件,禁用任何可配置的 5.0 功能。

4

用下载的 4.4 mongod 二进制文件替换 5.0 二进制文件,然后重启。

后退

将 5.0 降级至 4.4