<span>副本集mongodb3.4升级到3.6</span>
1、必须连续升级:
要将现有的 MongoDB 部署升级到 3.6,必须运行 3.4 系列发行版。
要从 3.4 系列之前的版本升级,必须连续升级主要版本,直到升级到 3.4 系列为止。例如,如果您运行的是 3.2 系列,则必须在首先升级到 3.4 之前才能升级到 3.6
2、fcv检测
3.4 副本集必须将featureCompatibilityVersion
设置为3.4
。
为确保副本集的所有成员都将featureCompatibilityVersion
设置为3.4
,请连接到每个副本集成员并检查featureCompatibilityVersion
:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
所有成员都应返回包含"featureCompatibilityVersion": "3.4"
的结果。
要设置或更新featureCompatibilityVersion
,请在主数据库上运行以下命令。大多数数据承载成员必须可用:
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
3、先测试环境后线上环境:
开始升级之前,请参阅MongoDB 3.6 中的兼容性更改文档,以确保您的应用程序和部署与 MongoDB 3.6 兼容。开始升级之前,请解决部署中的不兼容性。
在升级 MongoDB 之前,请务必先在临时环境中测试应用程序,然后再将升级部署到生产环境中。
3.、fcv设置
3.6.17-4.0 repl:PRIMARY> db.adminCommand({getParameter:1, featureCompatibilityVersion:1}) { "featureCompatibilityVersion" : { "version" : "3.4" }, "ok" : 1 } repl:PRIMARY> db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } ) { "ok" : 1 } repl:PRIMARY> db.adminCommand({getParameter:1, featureCompatibilityVersion:1}) { "featureCompatibilityVersion" : { "version" : "3.6" }, "ok" : 1, "operationTime" : Timestamp(1603186129, 38), "$clusterTime" : { "clusterTime" : Timestamp(1603186129, 38), "signature" : { "hash" : BinData(0,"G/noJFy+nH34LIt6kvAPk1zZpLA="), "keyId" : NumberLong("6885631465174859913") } } } repl:PRIMARY>