542179528 发表于 2015-7-7 05:07:27

MongoDB 服务启动时指定dbpath

  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服务的数据路径可以随意指定到你想要的位置了。
页: [1]
查看完整版本: MongoDB 服务启动时指定dbpath