MongoDB版本控制mongodb
一、穩定版本測試
MongoDB的版本的形式X.Y.Z在那裏X.Y 指的是一個版本系列或開發系列Z 指修訂/補丁號。spa
若是Y是偶數,則X.Y指發佈系列;例如, 4.0發行系列和4.2發行系列。發佈系列 穩定且適合生產。版本控制
若是Y是奇數,則X.Y指一個開發系列;例如, 4.1開發系列和4.3開發系列。開發系列僅用於測試而不是生產。code
例如,在MongoDB版本中4.0.12,4.0指的是發行系列,而.12指的是修訂版。server
最新產品blog
在發佈一系列變化(例如4.0到4.2)一般標誌着引進可能破壞向後兼容的新功能。進程
補丁版本開發
更改版本號(如4.0.11對4.0.12)通常標註錯誤修復和向後兼容的改變的釋放。get
驅動程序版本
MongoDB的版本編號系統與MongoDB驅動程序使用的系統不一樣
二、 MongoDB版本升級
mongodb的穩定版本所有爲偶數,例如:4.0、4.2
mongoDB的升級必須是相鄰版本升級,不能跳版本升級。例如:3.2->3.4->3.6,不能3.2直接升級3.6,這是由於相鄰版本會有兼容,若是跳版本升級很容易出問題。
三、升級單實例
步驟:
一、確認數據文件版本
二、安裝新版本
三、替換老版本
四、更新數據文件版本
3.一、鏈接mongodb確認版本:
rs0:PRIMARY> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
featureCompatibilityVersion 字段可看到版本號
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: 31107 child process started successfully, parent exiting
查看進程狀態
[root@KELL ~]# ps -ef | grep mongo
3.四、更新新版本數據文件:
> 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 }
到此升級就完成了。
集羣升級步驟
一、先升級從節點,從節點所有升級完畢在升級主節點
二、主節點升級,先把主節點降爲從節點,而後升級
使用並使用rs.stepDown()命令讓主節點降級,集羣會選舉出新的節點做爲主節點。
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>
更新完成,執行的維護操做必定是在業務低峯期執行,以避免影響到業務。