MongoDB Windows安裝服務
MongoDB作為一個基於分布式文件存儲的數據庫,近兩年大受追捧。數據靈活的存取方式和高效的處理使得它廣泛用於互聯網應用。
最近本人開始在Windows 32位平台下研究MongoDB的使用,為了方便,本人更喜歡將其安裝為Windows的系統服務。這樣就不用每次開一個mongod的主流程序了。
但是在網上搜索的命令有時候並沒有讓服務成功注冊,出現若干問題。接下來我將寫出我所遇到的問題和解決辦法。
首先從MongoDB官方下載最新的發行版本:http://www.mongodb.org/downloads
目前我所使用的是2.0.2版。
安裝很簡單,解壓出來就可以了。我把它放在了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服務了,不過此時要注意兩點:
1.保持命令行當前目錄不變,即仍停留在D:\mongodb-win32-i386-2.0.2\bin 目錄。任何更改到其他目錄後使用絕對定位來操作此目錄都會導致服務安裝失敗
注:什麼意思呢?就是說保持當前狀態就行了。假設你重新打開了一個cmd,起始目錄變成了
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服務,發現該服務可以穩定持續運行。恭喜你,成功了!
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!