通過(guò)Yum更新MongoDB 2.6 to 3.0
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、重慶小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了涪城免費(fèi)建站歡迎大家使用!
由于之前使用的是yum安裝的MongoDB 2.6(根據(jù)官網(wǎng)提示,如果你準(zhǔn)備從2.4升級(jí)起來(lái),需要先行升級(jí)至2.6版本,再進(jìn)行3.0的升級(jí)),為了使用MongoDB多個(gè)新特性,如WiredTiger引擎,中文檢索等,而根據(jù)MongoDB版本劃分可知,雙數(shù)為穩(wěn)定版本,所以決定升級(jí)至最新的MongoDb 3.2(筆者寫(xiě)這篇文時(shí)MongoDB 3.3為最新版本)。
其實(shí)根據(jù)官網(wǎng)所給文檔就能正常升級(jí)了,本文也是參考官網(wǎng)文檔做升級(jí),如果你準(zhǔn)備參考本文進(jìn)行操作,希望能在測(cè)試環(huán)境下測(cè)試沒(méi)問(wèn)題再上線以免出現(xiàn)問(wèn)題。
升級(jí)開(kāi)始:
退出MongoDB 2.6服務(wù)
service mongod stop
關(guān)于退出的方法有很多種,比如使用netstat -nltp找到進(jìn)程號(hào),使用然后殺死進(jìn)程(不建議使用-9直接強(qiáng)退);
又比如進(jìn)入Mongo客戶端,使用db.shutdownServer()關(guān)閉;
亦或者使用官網(wǎng)推薦方法等等,這里就不一一列出來(lái),請(qǐng)自行選擇使用。
mongod --dbpath /var/mongod/data --shutdown
2.新增yum源
vim /etc/yum.repos.d/mongodb-org-3.0.repo
編輯內(nèi)容:
[mongodb-org-3.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.0.asc
3.Yum升級(jí)開(kāi)始
查看下yum信息
yum info mongodb-org
開(kāi)始升級(jí),等待升級(jí)完成
yum upgrade mongodb-org
4.嘗試啟動(dòng)服務(wù)
service mongod start
發(fā)現(xiàn)啟動(dòng)失???不要著急,讓我們查看日志(本日志路徑為默認(rèn)路徑,日志路徑可以使用配置文件修改)
tail -f /var/log/mongodb/mongod.log
2016-06-27T02:53:32.961-0700 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted 2016-06-27T02:53:32.961-0700 I - [initandlisten] Fatal Assertion 28578 2016-06-27T02:53:32.961-0700 I - [initandlisten] ***aborting after fassert() failure
根據(jù)日志提示,是無(wú)法unlink sock文件,需要我們手動(dòng)刪除sock文件,刪除后運(yùn)行即可。
最后,升級(jí)3.0到3.2的方法重復(fù)之前步驟即可,把MongDB的YUM源修改成3.2即可完成升級(jí)。
注:根據(jù)官網(wǎng)提示,3.2默認(rèn)開(kāi)啟WiredTiger引擎