MongoDB Windows安裝服務(wù)
MongoDB作為一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),近兩年大受追捧。數(shù)據(jù)靈活的存取方式和高效的處理使得它廣泛用于互聯(lián)網(wǎng)應(yīng)用。
最近本人開(kāi)始在Windows 32位平臺(tái)下研究MongoDB的使用,為了方便,本人更喜歡將其安裝為Windows的系統(tǒng)服務(wù)。這樣就不用每次開(kāi)一個(gè)mongod的主流程序了。
但是在網(wǎng)上搜索的命令有時(shí)候并沒(méi)有讓服務(wù)成功注冊(cè),出現(xiàn)若干問(wèn)題。接下來(lái)我將寫(xiě)出我所遇到的問(wèn)題和解決辦法。
首先從MongoDB官方下載最新的發(fā)行版本:http://www.mongodb.org/downloads
目前我所使用的是2.0.2版。
安裝很簡(jiǎn)單,解壓出來(lái)就可以了。我把它放在了D盤(pán)下,以下是目錄結(jié)構(gòu):
C:/Documents and Settings/chaijunkun>d: D:/>cd mongodb-win32-i386-2.0.2 D:/mongodb-win32-i386-2.0.2>cd bin D:/mongodb-win32-i386-2.0.2/bin>dir 驅(qū)動(dòng)器 D 中的卷沒(méi)有標(biāo)簽。 卷的序列號(hào)是 F4CA-B47C D:/mongodb-win32-i386-2.0.2/bin 的目錄 2012-02-01 16:48 <DIR> . 2012-02-01 16:48 <DIR> .. 2011-12-14 12:23 3,644,928 bsondump.exe 2011-12-14 12:25 1,793,536 mongo.exe 2011-12-14 12:28 3,952,640 mongod.exe 2011-12-14 12:30 3,660,800 mongodump.exe 2011-12-14 12:32 3,651,072 mongoexport.exe 2011-12-14 12:34 3,656,192 mongofiles.exe 2011-12-14 12:36 3,668,992 mongoimport.exe 2011-12-14 12:38 3,654,656 mongorestore.exe 2011-12-14 12:39 2,807,808 mongos.exe 2011-12-14 12:41 3,689,472 mongostat.exe 2011-12-14 12:46 3,657,216 mongotop.exe 11 個(gè)文件 37,837,312 字節(jié) 2 個(gè)目錄 97,404,313,600 可用字節(jié)
接下來(lái)就要安裝MongoDB服務(wù)了,不過(guò)此時(shí)要注意兩點(diǎn):
1.保持命令行當(dāng)前目錄不變,即仍停留在D:/mongodb-win32-i386-2.0.2/bin 目錄。任何更改到其他目錄后使用絕對(duì)定位來(lái)操作此目錄都會(huì)導(dǎo)致服務(wù)安裝失敗
注:什么意思呢?就是說(shuō)保持當(dāng)前狀態(tài)就行了。假設(shè)你重新打開(kāi)了一個(gè)cmd,起始目錄變成了
C:/Documents and Settings/chaijunkun>
這時(shí)候你即便使用
C:/Documents and Settings/chaijunkun>D:/mongodb-win32-i386-2.0.2/bin/mongod.exe .............
這樣的方式來(lái)注冊(cè)服務(wù),仍然會(huì)注冊(cè)失敗。
2.事先創(chuàng)建一個(gè)目錄用來(lái)保存數(shù)據(jù)庫(kù)文件。如果不創(chuàng)建這個(gè)目錄,注冊(cè)服務(wù)時(shí)會(huì)在表象上看似已經(jīng)注冊(cè)成功。但啟動(dòng)服務(wù)后會(huì)發(fā)現(xiàn)mongod.exe進(jìn)程會(huì)反復(fù)建立、銷毀、建立、銷毀。跟著服務(wù)狀態(tài)也會(huì)變成“已啟動(dòng)”、“已停止”、“已啟動(dòng)”、“已停止”,客戶端根本無(wú)法連接到數(shù)據(jù)庫(kù)。
這里我使用C盤(pán)下的MongoDBData目錄作為數(shù)據(jù)文件存放目錄,于是建立目錄:
D:/mongodb-win32-i386-2.0.2/bin>mkdir c:/MongoDBData
好了,到這里準(zhǔn)備工作就做好了,下面就可以安裝服務(wù)了:
D:/mongodb-win32-i386-2.0.2/bin>mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --logpath c:/MongoDB.Log --dbpath c:/MongoDB --directoryperdb
這里簡(jiǎn)單介紹一下使用的參數(shù)及其含義:
--install:安裝MongoDB服務(wù)
--serviceName:安裝Windows服務(wù)時(shí)使用的服務(wù)名
--serviceDisplayName:在Windows服務(wù)管理器中顯示的服務(wù)名,如下所示:
--logpath:MongoDB日志輸出文件名稱。雖說(shuō)該參數(shù)直譯是“日志路徑”,其實(shí)要指定的是一個(gè)具體的完整文件名。這里我使用的是C盤(pán)根目錄下的MongoDB.Log文件。該文件不用事先創(chuàng)建,直接指定就是了。
--dbpath:指定MongoDB數(shù)據(jù)存放的路徑。這個(gè)就是最關(guān)鍵的參數(shù)了,不僅該目錄要存在,并且最好不要以“/”結(jié)尾。
--directoryperdb:這個(gè)參數(shù)很好理解,讓MongoDB按照數(shù)據(jù)庫(kù)的不同,針對(duì)每一個(gè)數(shù)據(jù)庫(kù)都建立一個(gè)目錄,所謂的“目錄每數(shù)據(jù)庫(kù)”
好了,執(zhí)行了上面的命令后,服務(wù)就可以成功注冊(cè)了。如果你使用的操作系統(tǒng)是Windows Vista或者Windows 7,那么你要特別注意它的UAC機(jī)制了,必須以管理員權(quán)限打開(kāi)cmd,然后注冊(cè)服務(wù)才能成功注冊(cè)。
打開(kāi)服務(wù)管理器,啟動(dòng)MongoDB服務(wù),發(fā)現(xiàn)該服務(wù)可以穩(wěn)定持續(xù)運(yùn)行。恭喜你,成功了!
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選