天天看點

Mongodb版本更新

MongoDB版本控制

1、穩定版本

MongoDB的版本的形式X.Y.Z在那裡X.Y 指的是一個版本系列或開發系列Z 指修訂/更新檔号。

如果Y是偶數,則X.Y指釋出系列;例如, 4.0發行系列和4.2發行系列。釋出系列 穩定且适合生産。

如果Y是奇數,則X.Y指一個開發系列;例如, 4.1開發系列和4.3開發系列。開發系列僅用于測試而不是生産。

例如,在MongoDB版本中4.0.12,4.0指的是發行系列,而.12指的是修訂版。

最新産品

在釋出一系列變化(例如4.0到4.2)通常标志着引進可能破壞向後相容的新功能。

更新檔版本

更改版本号(如4.0.11對4.0.12)一般标注錯誤修複和向後相容的改變的釋放。

驅動程式版本

MongoDB的版本編号系統與MongoDB驅動程式使用的系統不同

2、 MongoDB版本更新

mongodb的穩定版本全部為偶數,例如:4.0、4.2

mongoDB的更新必須是相鄰版本更新,不能跳版本更新。例如:3.2->3.4->3.6,不能3.2直接更新3.6,這是因為相鄰版本會有相容,如果跳版本更新很容易出問題。

3、更新單執行個體

步驟:

1、确認資料檔案版本

2、安裝新版本

3、替換老版本

4、更新資料檔案版本

3.1、連接配接mongodb确認版本:

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

featureCompatibilityVersion 字段可看到版本号

3.2、安裝新版本:

下載下傳對應的新版本安裝包,安裝新目錄

此處安裝省略

3.3、啟動新版本替換老版本

[root@KELL ~]# kill -9 26181; mongod -f /usr/local/mongodb/data/mdb1.conf  
about to fork child process, waiting until server is ready for connections.
forked process: 31107child process started successfully, parent exiting      

檢視程序狀态

[root@KELL ~]# ps -ef | grep mongo      

3.4、更新新版本資料檔案:

> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
{ "featureCompatibilityVersion" : { "version" : "4.2" }, "ok" : 1 }   #檢視相容性版本> db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )   #修改相容性版本
{ "ok" : 1 }> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
{ "featureCompatibilityVersion" : { "version" : "4.4" }, "ok" : 1 }      

到此更新就完成了。

叢集更新步驟

1、先更新從節點,從節點全部更新完畢在更新主節點

2、主節點更新,先把主節點降為從節點,然後更新

rs0:PRIMARY> rs.stepDown()
{        "ok" : 1,        "$clusterTime" : {                "clusterTime" : Timestamp(1598524885, 1),                "signature" : {                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),                        "keyId" : NumberLong(0)
                }
        },        "operationTime" : Timestamp(1598524885, 1)
}
rs0:SECONDARY>