Amazon Linux升級MongoDB版本3.0到3.2

亞馬遜云服Linux平臺上MongoDB版本由3.0升級到3.2的操作步驟:

1. 關(guān)閉游戲服務(wù)器

殺掉所有游戲相關(guān)進(jìn)程

2. 備份數(shù)據(jù)

記錄升級前的數(shù)據(jù)庫信息, 可簡單校驗數(shù)據(jù)

數(shù)據(jù)庫統(tǒng)計信息: db.stats()

數(shù)據(jù)庫集合統(tǒng)計信息: db.collection.stats()

保存原配置文件/etc/mongod.conf

備份數(shù)據(jù)庫,數(shù)據(jù)量比較大,備份時間較長,可以考慮省略此步驟.以DoubleHit為例, 備份過程接近兩個小時.

mongodump -d

DoubleHitStore -o/home/ec2-user/wtc-server/double_hit/mongo-backup-20170306

3. 關(guān)閉mongod服務(wù)

在mongo中關(guān)閉

> use admin

switched to db admin

> db.shutdownServer()

server should be down...

4. yum升級mongodb

3.1 編寫配置文件

sudo vi /etc/yum.repos.d/mongodb-org-3.2.repo

添加以下內(nèi)容:

[mongodb-org-3.2]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.2/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

3.2 執(zhí)行yum update

確認(rèn)是否可以升級

yum list updates

如果能夠看到mongodb 3.2的內(nèi)容就沒問題了

sudo yum update mongodb-org

4. 啟動MongoDB

設(shè)置好配置文件/etc/mongod.conf后,手動用命令啟動

sudo/usr/bin/mongod-f /etc/mongod.conf

或者設(shè)置開機(jī)重啟

echo"/usr/bin/mongod-f /etc/mongod.conf" >>

/etc/rc.d/rc.local


MongoDB相關(guān)知識點總結(jié):

備份

mongodump -h dbhost -d dbname -o dbdirectory

-h:

MongDB所在服務(wù)器地址,例如:127.0.0.1,當(dāng)然也可以指定端口號:127.0.0.1:27017

-d:

需要備份的數(shù)據(jù)庫實例,例如:test

-o:

備份的數(shù)據(jù)存放位置,例如:c:\data\dump,當(dāng)然該目錄需要提前建立,在備份完成后,系統(tǒng)自動在dump目錄下建立一個test目錄,這個目錄里面存放該數(shù)據(jù)庫實例的備份數(shù)據(jù)。

mongorestore -h <:port> -d dbname

--host <:port>, -h <:port>:

MongoDB所在服務(wù)器地址,默認(rèn)為: localhost:27017

--db , -d :

需要恢復(fù)的數(shù)據(jù)庫實例,例如:test,當(dāng)然這個名稱也可以和備份時候的不一樣,比如test2

--drop:

恢復(fù)的時候,先刪除當(dāng)前數(shù)據(jù),然后恢復(fù)備份的數(shù)據(jù)。就是說,恢復(fù)后,備份后添加修改的數(shù)據(jù)都會被刪除,慎用哦!

mongorestore 最后的一個參數(shù),設(shè)置備份數(shù)據(jù)所在位置,例如:c:\data\dump\test。

你不能同時指定 和 --dir 選項,--dir也可以設(shè)置備份目錄。

--dir:

指定備份的目錄

不能同時指定 和 --dir 選項。

關(guān)閉MongoDB

在mongo中關(guān)閉

> use admin

switched to db admin

> db.shutdownServer()

server should be down...

強制關(guān)閉MongoDB(不建議使用);

service mongod stop

或者

mongod --shutdown

使用shutdownServer關(guān)閉MongoDB,如有MongoDB主從服務(wù)器,則在服務(wù)關(guān)閉前同步主從服務(wù)器;強制關(guān)閉則不會;

絕對不要使用!!!

$ kill -9 8888

其中 8888 為mongod進(jìn)程號 ,該進(jìn)程號可以通過 ps -axu |grep mongo 獲??;

啟動MongoDB

設(shè)置好配置文件/etc/mongod.conf后,每次手動用命令啟動

sudo/usr/bin/mongod-f /etc/mongod.conf

或者設(shè)置開機(jī)重啟

echo"/usr/bin/mongod-f /etc/mongod.conf" >> /etc/rc.d/rc.local

MongoDB用mongod命令來啟動,不建議用

service mongod start

或者

chkconfig mongod on

來啟動MongoDB,因為mongod每次啟動需要帶參數(shù),不然會造成錯誤;

關(guān)于/etc/mongod.conf中常用的選項介紹:

--dbpath: 指定數(shù)據(jù)目錄,必選,不配置會啟動報錯;

--port: 指定服務(wù)監(jiān)聽的端口,默認(rèn)為27017

--logpath:指定日志路徑;

--logappend:指定日志是追加模式,或者每次重啟MongoDB后清理日志;默認(rèn)是追加模式;

--fork:用此選項創(chuàng)建子進(jìn)程,在后臺運行MongoDB;此選項必先開啟logpath選項;

--bind_ip: 指定監(jiān)聽的接口;默認(rèn)是127.0.0.1;

--httpinterface: 設(shè)定是否在1000的端口啟動一個微型的HTTP服務(wù)器;默認(rèn)不開啟;

--nounixsocket: 設(shè)置是否使用UNIX socket;

--noscripting: 設(shè)置是否完全禁止服務(wù)器端JavaScript腳本的運行;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容