将 3.6 独立降级到 3.4
在本页面
在尝试任何降级之前,请熟悉本文档的内容。
Downgrade Path
升级到 3.6 后,如果需要降级,建议将其降级到 3.4 的最新修补程序版本。
Create Backup
*可选,但推荐.*创建数据库备份。
Prerequisites
在降级二进制文件之前,必须降级功能部件兼容性版本,并删除具有 3.6 版本的所有 3.6 功能部件incompatible,如下所述。仅当将featureCompatibilityVersion
设置为"3.6"
时,才需要执行这些步骤。
1.降级功能兼容版本
db.adminCommand({setFeatureCompatibilityVersion: "3.4"})
setFeatureCompatibilityVersion命令执行对内部系统集合的写操作,并且是幂等的。如果由于某种原因该命令未成功完成,请在mongod实例上重试该命令。
2.删除向后不兼容的持久功能
用 3.4 删除所有incompatible的持久功能。例如,如果定义了使用 3.6 查询功能(例如$jsonSchema或$expr)的任何视图定义,文档验证器和部分索引过滤器,则必须将其删除。
Procedure
下载最新的 3.4 二进制文件。
使用软件包 Management 器或手动下载,可获得 3.4 系列中的最新版本。如果使用程序包 Management 器,请为 3.4 二进制文件添加新的存储库,然后执行实际的降级过程。
升级到 3.6 后,如果需要降级,建议将其降级到 3.4 的最新修补程序版本。
重新启动最新的 3.4 mongod 实例。
关闭您的mongod实例。用下载的mongod二进制文件替换现有的二进制文件,然后重新启动。
Note
如果您不执行干净关闭,则可能会导致错误,导致无法启动mongod进程。
强制终止mongod进程可能会导致db.collection.count()和db.stats()的结果不正确,以及延长下次重新启动mongod进程的启动时间。
无论您尝试通过kill
或类似命令从命令行终止mongod进程,还是使用平台的初始化系统发出stop
命令(如sudo systemctl stop mongod
或sudo service mongod stop
),都适用。
-
将 3.6 二进制文件替换为 3.4 二进制文件。
-
启动 3.4 mongod进程。