摘要:于是就有了這次的版本升級任務(wù)。如果返回的值小于,那么則需要用在庫里具有權(quán)限的用戶連上的庫然后執(zhí)行用戶認(rèn)證格式轉(zhuǎn)換。參考文檔及軟件下載鏈接升級官方指南升級官方指南警告的解決方案下載下載
最近為了長遠(yuǎn)考慮想把項(xiàng)目MongoDB里存放的400多萬數(shù)據(jù)遷移到云服務(wù)廠商提供的MongoDB服務(wù)上,省去自己去維護(hù)的時(shí)間,但是看了下云服務(wù)對MongoDB數(shù)據(jù)遷移上云的要求是自建MongoDB數(shù)據(jù)庫的最低版本為3.0。 公司服務(wù)器上的MongoDB是當(dāng)時(shí)用yum安裝的,版本還是2.4。于是就有了這次MongoDB的版本升級任務(wù)。好了閑話少說直接進(jìn)入正題部分。
首先闡明,本文描述的升級只針對單點(diǎn)部署或者是master-slave部署的MongDB的版本升級,不過文中引用的官方文檔中有關(guān)于復(fù)制集或者分片MongoDB的版本升級指南,可以查閱后按照步驟操作。
2.4版本升級到3.0的話由于數(shù)據(jù)兼容性的問題,需要先升級到2.6版本,再升級至3.0
升級前先來說個(gè)老生常談的原則:版本升級一定要在測試環(huán)境成功測試后再在production機(jī)器上進(jìn)行版本升級。
步驟:
一、2.4升級到2.6
1、下載2.6版本的MongoDB程序包并解壓
curl https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.11.tgz -o ./mongodb-2.6.tgz tar -xzvf mongodb-2.6.tgz
2、用2.6版本的mongo shell 連接2.4版本的mongos 然后運(yùn)行升級檢查
mongo —-host db.yourdomain.com:27017 admin -u yourname -p your pass use admin db.upgradeCheckAllDBs()
如果mongo服務(wù)需要啟用用戶驗(yàn)證那么在升級到2.6版本之前要確保admin庫里至少有一個(gè)權(quán)限為userAdminAnyDatabase的用戶存在
use admin db.addUser({user: "root", pwd: "xxxxd", roles: ["userAdminAnyDatabase"]})
3.將2.4版本mongo的二進(jìn)制文件替換成剛才下載的程序包里的bin目錄里的二進(jìn)制文件
sudo service mongod stop sudo chown -R root:root yourmongo2.6dir/bin //把mongodb用到的二進(jìn)制文件換成2.6版本的二進(jìn)制文件然后再啟動(dòng)mongod sudo service mongod start
二、2.6升級到3.0
1、下載3.0的程序包
curl https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.9.tgz -o ./mongodb-3.0
2、升級mongodb的用戶數(shù)據(jù)格式
2.6升級到3.0前需要驗(yàn)證現(xiàn)有的用戶schema, 在3.0中MongoDB完全棄用了之前的用戶授權(quán)驗(yàn)證模式,所以在升級3.0前需要把2.6的用戶schema升級到兼容3.0的格式。
use admin db.system.version.find( { _id: "authSchema" })
如果返回的值小于3,那么則需要用在admin庫里具有userAdminAnyDatabase權(quán)限的用戶連上mongo的admin庫然后執(zhí)行用戶認(rèn)證格式轉(zhuǎn)換。
db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1 });
3、停掉mongod 將2.6版本mongo的二進(jìn)制文件替換成下載的3.0程序包里的bin目錄里的二進(jìn)制文件,然后重新啟動(dòng)mongod。
大功告成,用mongo連接上數(shù)據(jù)庫進(jìn)入mongo shell后就會(huì)發(fā)現(xiàn)命令提示出當(dāng)前版本是3.0,不過升級到3.0進(jìn)入mongo shell后會(huì)有WARNING提示當(dāng)前服務(wù)器的THP(Transparent Huge Pages)是打開的,系統(tǒng)啟用這個(gè)策略會(huì)影響MongoDB的性能,在StackOverflow上發(fā)現(xiàn)了一個(gè)比較好的解決方案,稍后會(huì)給出鏈接。
好了,這就是我在本次MongoDB升級中執(zhí)行的所有步驟,說簡單也不簡單,說難也不難,主要是設(shè)計(jì)的參考文檔比較多,這里記錄下升級步驟即是希望幫助有升級需要的同仁能少走彎路也是方便自己備查。
參考文檔及軟件下載鏈接:
升級2.6MongoDB官方指南
升級3.0MongoDB官方指南
THP警告的解決方案
MongoDB2.6下載
MongoDB3.0下載
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/18819.html
摘要:概述使用這個(gè)教程在和使用軟件包安裝社區(qū)版雖然發(fā)行版包含自己的軟件包官方的社區(qū)版包通常是最新的平臺支持本安裝教程僅支持位操作系統(tǒng)詳細(xì)信息請參閱平臺支持軟件包在自己的存儲庫中提供官方支持軟件包此存儲庫包含以下軟件包軟件名簡介一個(gè)元軟件包將自動(dòng) 概述 使用這個(gè)教程在 SUSE Linux 11 和 12 使用 .rpm 軟件包安裝 MongoDB 社區(qū)版. 雖然 SUSE 發(fā)行版包含自己的 ...
摘要:概述使用這個(gè)教程在使用軟件包安裝社區(qū)版本安裝教程僅支持位操作系統(tǒng)詳細(xì)信息請參閱平臺支持軟件包在自己的存儲庫中提供官方支持軟件包此存儲庫包含以下軟件包軟件名簡介一個(gè)元軟件包將自動(dòng)安裝下面列出的四個(gè)組件包包含守護(hù)程序和關(guān)聯(lián)配置和初始化腳本 概述 使用這個(gè)教程在 Amazon Linux 使用 .rpm 軟件包安裝 MongoDB 社區(qū)版. 本安裝教程僅支持64位操作系統(tǒng). 詳細(xì)信息請參閱平...
閱讀 4455·2021-09-24 09:47
閱讀 1258·2021-09-03 10:33
閱讀 2137·2019-08-30 11:13
閱讀 1081·2019-08-30 10:49
閱讀 1808·2019-08-29 16:13
閱讀 2103·2019-08-29 11:28
閱讀 3147·2019-08-26 13:31
閱讀 3701·2019-08-23 17:14