MongoDB Windows安裝服務(wù)
MongoDB作為一個基于分布式文件存儲的數(shù)據(jù)庫,近兩年大受追捧。數(shù)據(jù)靈活的存取方式和高效的處理使得它廣泛用于互聯(lián)網(wǎng)應(yīng)用。
最近本人開始在Windows 32位平臺下研究MongoDB的使用,為了方便,本人更喜歡將其安裝為Windows的系統(tǒng)服務(wù)。這樣就不用每次開一個mongod的主流程序了。
但是在網(wǎng)上搜索的命令有時候并沒有讓服務(wù)成功注冊,出現(xiàn)若干問題。接下來我將寫出我所遇到的問題和解決辦法。
首先從MongoDB官方下載最新的發(fā)行版本:http://www.mongodb.org/downloads
目前我所使用的是2.0.2版。
安裝很簡單,解壓出來就可以了。我把它放在了D盤下,以下是目錄結(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 中的卷沒有標(biā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 個文件 37,837,312 字節(jié) 2 個目錄 97,404,313,600 可用字節(jié)
接下來就要安裝MongoDB服務(wù)了,不過此時要注意兩點:
1.保持命令行當(dāng)前目錄不變,即仍停留在D:/mongodb-win32-i386-2.0.2/bin 目錄。任何更改到其他目錄后使用絕對定位來操作此目錄都會導(dǎo)致服務(wù)安裝失敗
注:什么意思呢?就是說保持當(dāng)前狀態(tài)就行了。假設(shè)你重新打開了一個cmd,起始目錄變成了
C:/Documents and Settings/chaijunkun>
這時候你即便使用
C:/Documents and Settings/chaijunkun>D:/mongodb-win32-i386-2.0.2/bin/mongod.exe .............
這樣的方式來注冊服務(wù),仍然會注冊失敗。
2.事先創(chuàng)建一個目錄用來保存數(shù)據(jù)庫文件。如果不創(chuàng)建這個目錄,注冊服務(wù)時會在表象上看似已經(jīng)注冊成功。但啟動服務(wù)后會發(fā)現(xiàn)mongod.exe進程會反復(fù)建立、銷毀、建立、銷毀。跟著服務(wù)狀態(tài)也會變成“已啟動”、“已停止”、“已啟動”、“已停止”,客戶端根本無法連接到數(shù)據(jù)庫。
這里我使用C盤下的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
這里簡單介紹一下使用的參數(shù)及其含義:
--install:安裝MongoDB服務(wù)
--serviceName:安裝Windows服務(wù)時使用的服務(wù)名
--serviceDisplayName:在Windows服務(wù)管理器中顯示的服務(wù)名,如下所示:

--logpath:MongoDB日志輸出文件名稱。雖說該參數(shù)直譯是“日志路徑”,其實要指定的是一個具體的完整文件名。這里我使用的是C盤根目錄下的MongoDB.Log文件。該文件不用事先創(chuàng)建,直接指定就是了。
--dbpath:指定MongoDB數(shù)據(jù)存放的路徑。這個就是最關(guān)鍵的參數(shù)了,不僅該目錄要存在,并且最好不要以“/”結(jié)尾。
--directoryperdb:這個參數(shù)很好理解,讓MongoDB按照數(shù)據(jù)庫的不同,針對每一個數(shù)據(jù)庫都建立一個目錄,所謂的“目錄每數(shù)據(jù)庫”
好了,執(zhí)行了上面的命令后,服務(wù)就可以成功注冊了。如果你使用的操作系統(tǒng)是Windows Vista或者Windows 7,那么你要特別注意它的UAC機制了,必須以管理員權(quán)限打開cmd,然后注冊服務(wù)才能成功注冊。
打開服務(wù)管理器,啟動MongoDB服務(wù),發(fā)現(xiàn)該服務(wù)可以穩(wěn)定持續(xù)運行。恭喜你,成功了!

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答