本文出處:http://blog.csdn.net/chaijunkun/article/details/7227967,轉載請註明。因爲本人不按期會整理相關博文,會對相應內容做出完善。所以強烈建議在原始出處查看此文。 mongodb
MongoDB做爲一個基於分佈式文件存儲的數據庫,近兩年大受追捧。數據靈活的存取方式和高效的處理使得它普遍用於互聯網應用。 shell
最近本人開始在Windows 32位平臺下研究MongoDB的使用,爲了方便,本人更喜歡將其安裝爲Windows的系統服務。這樣就不用每次開一個mongod的主流程序了。 數據庫
可是在網上搜索的命令有時候並無讓服務成功註冊,出現若干問題。接下來我將寫出我所遇到的問題和解決辦法。 分佈式
首先從MongoDB官方下載最新的發行版本:http://www.mongodb.org/downloads 操作系統
目前我所使用的是2.0.2版。 .net
安裝很簡單,解壓出來就能夠了。我把它放在了D盤下,如下是目錄結構: 命令行
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 驅動器 D 中的卷沒有標籤。 卷的序列號是 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 字節 2 個目錄 97,404,313,600 可用字節
接下來就要安裝MongoDB服務了,不過此時要注意兩點: rest
1.保持命令行當前目錄不變,即仍停留在D:\mongodb-win32-i386-2.0.2\bin 目錄。任何更改到其餘目錄後使用絕對定位來操做此目錄都會致使服務安裝失敗 日誌
注:什麼意思呢?就是說保持當前狀態就好了。假設你從新打開了一個cmd,起始目錄變成了 code
C:\Documents and Settings\chaijunkun>
C:\Documents and Settings\chaijunkun>D:\mongodb-win32-i386-2.0.2\bin\mongod.exe .............
2.事先建立一個目錄用來保存數據庫文件。若是不建立這個目錄,註冊服務時會在表象上看似已經註冊成功。但啓動服務後會發現mongod.exe進 程會反覆創建、銷燬、創建、銷燬。跟着服務狀態也會變成「已啓動」、「已中止」、「已啓動」、「已中止」,客戶端根本沒法鏈接到數據庫。
這裏我使用C盤下的MongoDBData目錄做爲數據文件存放目錄,因而創建目錄:
D:\mongodb-win32-i386-2.0.2\bin>mkdir c:\MongoDBData
D:\mongodb-win32-i386-2.0.2\bin>mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --logpath c:\MongoDB.Log --dbpath c:\MongoDB --directoryperdb
--install:安裝MongoDB服務
--serviceName:安裝Windows服務時使用的服務名
--serviceDisplayName:在Windows服務管理器中顯示的服務名,以下所示:
--logpath:MongoDB日誌輸出文件名稱。雖然說該參數直譯是「日誌路徑」,其實要指定的是一個具體的完整文件名。這裏我使用的是C盤根目錄下的MongoDB.Log文件。該文件不用事先建立,直接指定就是了。
--dbpath:指定MongoDB數據存放的路徑。這個就是最關鍵的參數了,不只該目錄要存在,而且最好不要以「\」結尾。
--directoryperdb:這個參數很好理解,讓MongoDB按照數據庫的不一樣,針對每個數據庫都創建一個目錄,所謂的「目錄每數據庫」
好了,執行了上面的命令後,服務就能夠成功註冊了。若是你使用的操做系統是Windows Vista或者Windows 7,那麼你要特別注意它的UAC機制了,必須以管理員權限打開cmd,而後註冊服務才能成功註冊。
打開服務管理器,啓動MongoDB服務,發現該服務能夠穩定持續運行。恭喜你,成功了!