将独立运行版升级到 6.0
请熟读本文档的内容,包括仔细查看先决条件,然后再升级到 MongoDB 6.0。
以下步骤概述了升级独立运行的 mongod
从版本5.0升级到6.0的过程。
如需有关升级到 6.0 的指导,MongoDB 专业服务提供主要版本升级支持,帮助您顺利过渡,不会中断您的 MongoDB 应用程序。
升级建议和清单
升级时,请考虑以下几点:
升级版本路径
要将现有 MongoDB 部署升级到 6.0,您正在运行的必须是 5.0 系列版本。
要从 5.0 系列之前的版本升级,您必须不断升级主要版本,直至 5.0 系列版本。例如,如果您运行的是 4.4 系列版本,则必须先升级到 5.0 版本,然后才能升级到 6.0。
检查驱动程序兼容性
在升级 MongoDB 之前,请检查您是否使用与 MongoDB 6.0 兼容的驱动程序。请查阅与您具体驱动程序相对应的驱动程序文档,以验证与 MongoDB 6.0 的兼容性。
在不兼容的驱动程序上运行的升级部署可能会遇到意外或未定义的行为。
警告
如果您的驱动程序使用在 v3.6 中已弃用的旧版操作码,请将驱动程序更新到使用受支持操作码的版本。 不再支持使用旧版操作码的驱动程序。
准备
在开始升级之前,请参阅 MongoDB 6.0 中的兼容性更改文档,以确保您的应用程序和部署与 MongoDB 6.0 兼容。在开始升级之前,请解决部署中的不兼容问题。
在升级 MongoDB 之前,请务必在临时环境中测试您的应用程序,然后再将升级部署到生产环境。
降级考虑因素
升级到 6.0 后,如果需要降级,建议降级到最新的 5.0 补丁版本。
先决条件
特征兼容性版本
5.0 实例的 featureCompatibilityVersion
必须设置为 "5.0"
。要查看 featureCompatibilityVersion
:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
该操作返回的结果应包含 "featureCompatibilityVersion" : { "version" : "5.0" }
。
要设置或更新 featureCompatibilityVersion
,请运行以下命令:
db.adminCommand( { setFeatureCompatibilityVersion: "5.0" } )
有关更多信息,请参阅 setFeatureCompatibilityVersion
。
考虑转换为副本集
在升级之前,请考虑将独立运行部署转换为副本集。副本集是 MongoDB 的推荐部署配置。
下载 6.0 二进制文件
通过包管理器
如果您从 MongoDB apt
、yum
、dnf
或 zypper
存储库安装 MongoDB,则应使用软件包管理器升级到 6.0。
请按照适用于您 Linux 系统的 6.0 版本安装说明进行操作。这将涉及为新版本添加存储库,然后执行实际的升级过程。
手动
如果您尚未使用包管理器安装 MongoDB,则可以从 MongoDB 下载中心手动下载 MongoDB 二进制文件。
请参阅 6.0 版本安装说明了解更多信息。
升级程序
警告
如果您将现有的 MongoDB 实例升级到 MongoDB 6.0.5,并且在mongod.conf
文件中设置了fork: true
,则该实例可能无法启动。
升级问题会影响所有使用.deb
或.rpm
安装包的 MongoDB 实例。 使用 tarball ( .tgz
) 版本或其他软件包类型的安装不受影响。 有关详细信息,请参阅 SERVER-74345 。
要删除fork: true
设置,请从系统终端运行以下命令:
systemctl stop mongod.service sed -i.bak '/fork: true/d' /etc/mongod.conf systemctl start mongod.service
删除设置后,第二个systemctl
命令将启动升级后的实例。
关闭 <a class=\" \" href=\" \"> 实例。<a class=\" \" href=\" \" title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \" class=\" \" role=\"mongod
\" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
要关闭 mongod
进程,请使用 mongosh
连接到实例并运行以下命令:
db.adminCommand( { shutdown: 1 } )
启用向后不兼容的 6.0 功能。
此时,您可以运行 6.0 二进制文件,而不会启用 6.0 版本中与 5.0 不兼容的功能。
要启用这些 6.0 版本的功能,请将功能兼容性版本号 (fCV
) 设置为 6.0。
提示
启用这些向后不兼容的功能可能会使降级过程变得复杂,因为在降级之前,您必须删除任何持续存在的向后不兼容的功能。
升级后,建议让部署在不启用这些功能的情况下稳定运行一段时间,以确保降级回老版本的可能性极小。当确信降级的可能性非常小时,请启用这些功能。
针对 admin
数据库运行 setFeatureCompatibilityVersion
命令:
db.adminCommand( { setFeatureCompatibilityVersion: "6.0" } )
此命令执行的必须是对内部系统集合的写入。如果由于任何原因该命令未能成功完成,您都可以安全地重试该命令,因为该操作是幂等的。
其他升级程序
要升级副本集,请参阅将副本集升级到 6.0。
要升级分片集群,请参阅将分片集群升级到 6.0 版本。