将mongodb安装为windows服务非常简单只需要在上面执行的命令行后添加 --install即可



mongod --dbpath D:\MongoDB\data --install



按照正常的剧情,应该服务就安装成功了,但是很不幸,出现下面提示



--install has to be used with --logpath



按照提示,我们需要指定log目录,所以我们创建log目录D:\MongoDB\logs 然后重新执行命令



mongod --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --logappend



但是提示还是没有指定日志路径,几经折腾发现这是2.6版本的一个bug,将会在下一个版本修复,然后我们有两个选择,一个选择是使用上一个版本2.4.9,另一个选择是先用2.4.9版本安装成功服务,然后在升级到2.6(肿么升级?直接用2.6版本替换掉对应2.4.9版本的文件),那我们还有其他的选择吗,答案当然是肯定的,使用sc命令创建服务,使用net start启动服务



sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --logappend"



net start MongoDB



 



在命令行执行:

 



D:\MongoDb\logs\MongoDB.log --logappend --dbpath  D:\data --directoryperdb --serviceName MongoDB --install  --auth



 



绿字部分是数据库日志和数据库文件存放的路径,请确保已经存在。



 



红字--auth这个参数的意思是服务将开启权限认证,加上这个参数才不会被别人随意打开你服务器上的MongoDB数据库。



 



 



 



 



顺便说一下如何删除Windows服务:



 



首先在服务设置里把当前的MongoDB服务停止。



 



sc delete MongoDB



 



这样之前安装的服务就会被删除。



mongodb 容器启动服务 mongodb启动服务失败_数据库



 



 



配置文件和相关目录建好后使用如下方式启动MongoDB

  • 普通启动

    mongod --config D:\MongoDB\etc\mongodb.conf
  • 安装为Windows服务
    注:2.6版 这种方式在win7、win8 64位版无法安装成功,其他系统未测试

    mongod --config D:\MongoDB\etc\mongodb.conf --install
  • 使用SC安装为Windows服务

    sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --config=D:\MongoDB\etc\mongodb.conf"
     

这里需要注意下当指定了日志文件后,无论使用配置文件指定还是在命令行指定,日志就都会输出到指定的日志文件去了,在命令行界面将看不到任何日志输出