欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于mongodb版本升級(jí)問題

 更新時(shí)間:2023年02月17日 08:49:07   作者:WFkwYu  
這篇文章主要介紹了關(guān)于mongodb版本升級(jí)問題,具有很好的參考價(jià)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、背景

目前公司的mongodb版本是3.0.6的老版本,公司希望將mongodb版本升級(jí)到3.6以上,那么無語了,以前沒做過數(shù)據(jù)庫升級(jí),在腦子里的第一反應(yīng)是要不要重新部署一套mongodb副本集+分片的模式,又或者是可以直接從3.0.6的版本升級(jí)到3.6版本以上。

經(jīng)過查閱資料發(fā)現(xiàn),實(shí)際mongodb版本升級(jí)是需要一步一步來的,需要先升級(jí)到3.4版本,再升級(jí)到3.6版本。

3.0 ======> 3.4 ======> 3.6

二、三個(gè)重點(diǎn)需要注意

1、一定要備份config數(shù)據(jù)庫;

2、修改認(rèn)證方式;需要將最新的認(rèn)證方式SCRAM-SHA-1 改成老的認(rèn)證方式 MONGODB-CR,老用戶依然能正常登陸。

3、可通過開啟認(rèn)證的方式啟動(dòng)服務(wù),通過老版本用戶登陸授權(quán);

三、環(huán)境

當(dāng)前mongodb集群三臺(tái)機(jī)器,環(huán)境是副本集+分片模式

  • mongodb1:分片主1、分片主2、分片主3、config、mongos
  • mongodb2:分片副本1、分片副本2、分片副本3、config、mongos
  • mongodb3:分片副本1、分片副本2、分片副本3、config、mongos

四、下載各個(gè)版本的mongodb包

[yukw@mongodb1 mongodbwork3.4]$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.4.tgz              ##下載版本為3.4.4[yukw@mongodb1 mongodbwork3.4]$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.5.tgz				##下載版本為3.6.5

五、下面介紹如何從3.0升級(jí)到3.4

1、拷貝包到相應(yīng)目錄

[yukw@mongodb1 mongodbwork3.4]$ mkdir /data/service/mongodbwork3.4[yukw@mongodb1 mongodbwork3.4]$ cp mongodb-linux-x86_64-rhel62-3.4.4.tgz /data/service/mongodbwork3.4/

2、解壓壓縮包

[yukw@mongodb1 mongodbwork3.4]$ tar xf mongodb-linux-x86_64-rhel62-3.4.4.tgz[yukw@mongodb1 mongodbwork3.4]$ mv mongodb-linux-x86_64-rhel62-3.4.4 mongodb

3、停止mongodb服務(wù)

[yukw@mongodb1 mongodbwork3.4]$ ps -ef |grep mongo |grep -v grep | awk '{print $2}' | xargs kill -2 ? ? ?##每臺(tái)機(jī)器都執(zhí)行

以3.4版本的mongodb二進(jìn)制文件依次啟動(dòng)三個(gè)分片服務(wù)

[yukw@mongodb1 mongodbwork3.4] $/data/service/mongodbwork3.4/mongodb/bin/mongod -f /etc/mongodb1.conf ? ? ##每臺(tái)機(jī)器都執(zhí)行,mongodb1.conf 為mongod1配置文件[yukw@mongodb1 mongodbwork3.4] $/data/service/mongodbwork3.4/mongodb/bin/mongod -f /etc/mongodb2.conf?? ? ##每臺(tái)機(jī)器都執(zhí)行,mongodb2.conf 為mongod2配置文件[yukw@mongodb1 mongodbwork3.4] $/data/service/mongodbwork3.4/mongodb/bin/mongod -f /etc/mongodb3.conf?? ? ##每臺(tái)機(jī)器都執(zhí)行,mongodb3.conf 為mongod3配置文件

4、在PRIMARY機(jī)器上升級(jí)版本(在副本集的主上運(yùn)行)

[yukw@mongodb1 mongodbwork3.4]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port mongodb1_protconfigdb:PRIMARY> use adminswitched to db adminshard1:PRIMARY> db.auth("user_name","password")1configdb:PRIMARY> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } ){ "ok" : 1 }configdb:PRIMARY> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } ){ "featureCompatibilityVersion" : "3.4", "ok" : 1 }###############上面primary機(jī)器已經(jīng)升級(jí)到3.4,然后再到副本集機(jī)器驗(yàn)證##############[yukw@mongodb1 mongodbwork3.4]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port mongodb2_protconfigdb:PRIMARY> use adminswitched to db adminshard1:PRIMARY> db.auth("user_name","password")1configdb:PRIMARY> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } ){ "ok" : 1 }###############上面primary機(jī)器已經(jīng)升級(jí)到3.4,然后再到副本集機(jī)器驗(yàn)證##############[yukw@mongodb1 mongodbwork3.4]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port mongodb3_protconfigdb:PRIMARY> use adminswitched to db adminshard1:PRIMARY> db.auth("user_name","password")1configdb:PRIMARY> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } ){ "ok" : 1 }###############上面primary機(jī)器已經(jīng)升級(jí)到3.4,然后再到副本集機(jī)器驗(yàn)證##############

5、上每臺(tái)副本集機(jī)器查看分片服務(wù)版本是否更新

shard1:SECONDARY> use adminswitched to db adminshard1:SECONDARY> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } ){ "featureCompatibilityVersion" : "3.4", "ok" : 1 }

6、啟動(dòng)配置服務(wù)

[yukw@mongodb1 mongodbwork3.4]$ /data/service/mongodbwork3.4/mongodb/bin/mongod -f /etc/mongo_config.conf     ##三臺(tái)機(jī)器均執(zhí)行

7、config配置服務(wù)配置副本集

這里需要注意先將config數(shù)據(jù)文件備份(這一步讀者自己去備份),因?yàn)樵谂渲酶北炯瘯r(shí)可能會(huì)提示副本集目錄中存在數(shù)據(jù),無法初始化

[yukw@mongodb3 data]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port config_port> use adminswitched to db admin> configdb1={_id:'configdb',members:[{_id:0,host:'10.0.1.211:20000',priority:9},{_id:1,host:'10.0.1.209:20000',priority:5},{_id:2,host:'10.0.1.111:20000',priority:7}]}                             ## 配置副本集并設(shè)置權(quán)重>  rs.initiate(configdb1)     ##初始化配置

這里解釋一下,3.0版本不需要config配置服務(wù)設(shè)置副本集就能啟動(dòng)mongos路由服務(wù),但是在3.4版本需要將config配置服務(wù)配置副本集,不然啟動(dòng)mongos服務(wù)會(huì)報(bào)錯(cuò),如下:

8、修改mongos配置文件

9、啟動(dòng)mongos路由服務(wù)

[yukw@mongodb1 data]$ /data/service/mongodbwork3.4/mongodb/bin/mongos -f /etc/mongo_mongos.conf   ##每臺(tái)機(jī)器都執(zhí)行

10、修改認(rèn)證方式

[yukw@mongodb1 data]$ /data/service/mongodbwork3.4/mongodb/bin/mongo -port 30000> use adminswitched to db admin>  var schema = db.system.version.findOne({"_id" : "authSchema"})> schema.currentVersion = 33> db.system.version.save(schema)WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

11、將3.4版本升級(jí)到3.6,原理同上

注意:

  • 1、配置服務(wù)器需要做副本集,因?yàn)閙ongos路由配置文件里需要填寫配置服務(wù)器的副本名稱;
  • 2、原有的config目錄下的數(shù)據(jù)存在,導(dǎo)致創(chuàng)建配置服務(wù)器副本集報(bào)錯(cuò);
  • 3、數(shù)據(jù)庫數(shù)據(jù)丟失,需要重新恢復(fù);
  • 4、分片重新做;
  • 5、config和mongos服務(wù)中之前建立的用戶丟失;
  • 6、索引不兼容,版本3.0.6中是 v:1,版本3.4.x中是v:2,但是恢復(fù)數(shù)據(jù)后,索引會(huì)自動(dòng)變成v:2

好了,這就是mongodb版本升級(jí)的完整過程了!

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux服務(wù)器快速安裝MongoDB5.0版本過程步驟

    Linux服務(wù)器快速安裝MongoDB5.0版本過程步驟

    這篇文章主要為大家介紹了Linux服務(wù)器快速安裝MongoDB5.0版本過程步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Mongodb使用$<identifier>過濾更新數(shù)組元素的示例代碼

    Mongodb使用$<identifier>過濾更新數(shù)組元素的示例代碼

    帶有過濾器的位置操作符$<identifier>定義數(shù)組中數(shù)據(jù)更新時(shí),只符合identifier定義條件的元素才可以更新,本文給大家介紹了Mongodb使用$<identifier>過濾更新數(shù)組元素的操作方法,很值得探討和學(xué)習(xí),需要的朋友可以參考下
    2024-06-06
  • MongoDB入門教程之C#驅(qū)動(dòng)操作實(shí)例

    MongoDB入門教程之C#驅(qū)動(dòng)操作實(shí)例

    這篇文章主要介紹了MongoDB入門教程之C#驅(qū)動(dòng)操作實(shí)例,即C#中操作MongoDB數(shù)據(jù)的方法和代碼示例,需要的朋友可以參考下
    2014-08-08
  • mongodb BSON的基本使用教程

    mongodb BSON的基本使用教程

    這篇文章主要給大家介紹了關(guān)于mongodb BSON的基本使用教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 把MongoDB作為循環(huán)隊(duì)列的方法詳解

    把MongoDB作為循環(huán)隊(duì)列的方法詳解

    這篇文章主要給大家介紹了關(guān)于把MongoDB作為循環(huán)隊(duì)列的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • mongoDB中CRUD的深入講解

    mongoDB中CRUD的深入講解

    這篇文章主要給大家介紹了關(guān)于mongoDB中CRUD的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • MongoDB 簡單入門教程(安裝、基本概念、創(chuàng)建用戶)

    MongoDB 簡單入門教程(安裝、基本概念、創(chuàng)建用戶)

    這篇文章主要介紹了MongoDB 簡單入門教程(安裝、基本概念、創(chuàng)建用戶)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MongoDB數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-03-03
  • MongoDB特定類型的查詢語句實(shí)例

    MongoDB特定類型的查詢語句實(shí)例

    在關(guān)系型數(shù)據(jù)庫中,可以實(shí)現(xiàn)基于表的各種各樣的查詢,下面這篇文章主要給大家介紹了關(guān)于MongoDB特定類型查詢的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • MongoDB快速入門筆記(六)之MongoDB刪除文檔操作

    MongoDB快速入門筆記(六)之MongoDB刪除文檔操作

    這篇文章主要介紹了MongoDB快速入門筆記(六)之MongoDB刪除文檔操作 的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • ubuntu安裝mongodb創(chuàng)建賬號(hào)和庫及添加坐標(biāo)索引的流程分析

    ubuntu安裝mongodb創(chuàng)建賬號(hào)和庫及添加坐標(biāo)索引的流程分析

    這篇文章主要介紹了ubuntu安裝mongodb創(chuàng)建賬號(hào)和庫及添加坐標(biāo)索引的流程分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論