Install MongoDB as a windows service

最近打算尝试MongoDB,按照官网方法在windows上安装服务遇到问题。

然后用中文搜到的结果其实不是最佳解决方案,所以觉得有必要写个中文的流程,主要就是个翻译的工作吧。

 1、官方文档的命令是

mongod --bind_ip 0.0 . 0.0 --logpath d: \ mongo \ logs --logappend --dbpath d: \ mongo \ data --directoryperdb --install

 2、查看系统服务,找到MongoDB,执行运行,返回1053错误!

这个问题部分中文搜索结果是用vbs脚本替代了windows service,其实再走一步就是彼岸。

 3、解决问题

先看看log:

Tue Mar  22   12 : 20 : 04  [initandlisten] MongoDB starting : pid = 2744  port = 27017  dbpath = D: \ Data \ MongoDB "  --directoryperdb --serviceName MongoDB --install 64-bit 
Tue Mar 22 12:20:04 [initandlisten] db version v1.8.0, pdfile version 4.5
Tue Mar 22 12:20:04 [initandlisten] git version: 9c28b1d608df0ed6ebe791f63682370082da41c0
Tue Mar 22 12:20:04 [initandlisten] build sys info: windows (6, 1, 7600, 2, '') BOOST_LIB_VERSION=1_42
Tue Mar 22 12:20:04 [initandlisten] exception in initAndListen std::exception: dbpath (D:\Data\MongoDB
"  --directoryperdb --serviceName MongoDB --install )  does  not   exist ,  terminating
Tue Mar 
22   12 : 20 : 04  dbexit: 
Tue Mar 
22   12 : 20 : 04  [initandlisten] shutdown: going to close listening sockets ...
Tue Mar 
22   12 : 20 : 04  [initandlisten] shutdown: going to flush diaglog ...
Tue Mar 
22   12 : 20 : 04  [initandlisten] shutdown: going to close sockets ...

...

 可以看到是解析db路径的地方出了问题,于是又搜了搜英文结果,果然发现了解决方法:

 在注册表中找到

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MongoDB

 找到服务命令,把最后的

... --directoryperdb MongoDB --service

 改为

... --directoryperdb --serviceName MongoDB --service

 再次启动服务,服务正常工作,正常的启动日志是:

Tue Mar  22   12 : 22 : 07  [initandlisten] MongoDB starting : pid = 3096  port = 27017  dbpath = D: \ Data \ MongoDB  64 -bit 
Tue Mar 
22   12 : 22 : 07  [initandlisten] db version v1 . 8.0 ,  pdfile version  4.5
Tue Mar 
22   12 : 22 : 07  [initandlisten] git version: 9c28b1d608df0ed6ebe791f63682370082da41c0
Tue Mar 
22   12 : 22 : 07  [initandlisten] build sys info: windows  ( 6 ,   1 ,   7600 ,   2 ,  '' )  BOOST_LIB_VERSION = 1_42
Tue Mar 
22   12 : 22 : 07  [initandlisten] waiting  for  connections  on  port  27017
Tue Mar 
22   12 : 22 : 07  [websvr] web admin interface listening  on  port  28017

...

 路径正确了。

5、另外不要忘了还要在Windows 2008 R2的防火墙中打开27017和28017端口,在入站规则里加一条就行了。

 

转载于:https://www.cnblogs.com/chinajuanbob/archive/2011/03/22/1991297.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值