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服务的数据路径可以随意指定到你想要的位置了。