Update:2013-7-12
mongodb-win32-x86_64-2.4.5 已經修正了這個錯誤,不需要在命令列最後再添加一個反斜線了。
=======================================================
版本:mongodb-win32-x86_64-2.2.1
今天在Win7下安裝MongoDB的時候,發現把它作為一個服務安裝時怎麼也啟動不起來,後來拜了Google才知道原來需要在根目錄下建立一個x:\data\db\檔案夾才行。
但是我不想把資料檔案放到這裡,有沒有辦法在安裝服務的時候指定dbpath呢?
剛開始的時候覺得,這還不簡單,使用--dbpath參數不就得了,使用如下命令安裝:
mongod --config c:\mongodb\mongod.cfg --dbpath c:\mongodb\data\db\ --install
結果服務無法啟動,查看log檔案,原來--dbpath參數會將之後所有的字元都當作路徑,所以服務啟動的時候認為沒有一個路徑叫做"c:\mongodb\data\db\ --service",啟動失敗。
第一次嘗試失敗,那我們把參數換個位置,使用如下命令安裝:
mongod --install --config c:\mongodb\mongod.cfg --dbpath c:\mongodb\data\db\
OMG,還是無法啟動,查看log檔案,錯誤提示是“ERROR: dbpath (c:\mongodb\data\db" ) does not exist. ”,注意,db之後的反斜線消失了,查看服務裡面的可執行檔路徑,確實是有這個反斜線的,難道這個反斜線被當作了轉義符,執行的時候丟掉了?
繼續再試,使用如下命令安裝:
mongod --install --config c:\mongodb\mongod.cfg --dbpath c:\mongodb\data\db
\\
既然一個反斜線不行,那我寫兩個上去。
最終,啟動成功。
現在MongoDB服務的資料路徑可以隨意指定到你想要的位置了。