MongoDB作为一个基于分布式文件存储的数据库,近两年大受追捧。数据灵活的存取方式和高效的处理使得它广泛用于互联网应用。

最近本人开始在Windows 32位平台下研究MongoDB的使用,为了方便,本人更喜欢将其安装为Windows的系统服务。这样就不用每次开一个mongod的主流程序了。

但是在网上搜索的命令有时候并没有让服务成功注册,出现若干问题。接下来我将写出我所遇到的问题和解决办法。

首先从MongoDB官方下载最新的发行版本:http://www.mongodb.org/downloads

目前我所使用的是2.4.8版。

安装很简单,解压出来就可以了。我把它放在了D盘下,以下是目录结构:

 C:\Users\Administrator>D:

 D:\>CD D:\Program Files\mongodb\bin

 D:\Program Files\mongodb\bin>dir
驱动器 D 中的卷是 SoftWare
卷的序列号是 306D-3BAC D:\Program Files\mongodb\bin 的目录 2013/11/21 15:23 <DIR> .
2013/11/21 15:23 <DIR> ..
2013/10/31 16:17 11,273,728 bsondump.exe
2013/10/31 14:32 6,379,520 mongo.exe
2013/10/31 14:43 11,329,536 mongod.exe
2013/10/31 14:43 91,720,704 mongod.pdb
2013/10/31 15:00 11,308,544 mongodump.exe
2013/10/31 15:19 11,276,288 mongoexport.exe
2013/10/31 16:07 11,289,600 mongofiles.exe
2013/10/31 15:28 11,294,208 mongoimport.exe
2013/10/31 15:57 11,272,704 mongooplog.exe
2013/10/31 16:26 11,284,480 mongoperf.exe
2013/10/31 15:09 11,299,328 mongorestore.exe
2013/10/31 14:50 8,848,896 mongos.exe
2013/10/31 14:50 70,765,568 mongos.pdb
2013/10/31 15:38 11,304,960 mongostat.exe
2013/10/31 15:47 11,276,288 mongotop.exe
15 个文件 301,924,352 字节
2 个目录 48,694,886,400 可用字节

接下来就要安装MongoDB服务了,不过此时要注意两点:

1.保持命令行当前目录不变,即仍停留在D:\Program Files\mongodb\bin 目录。任何更改到其他目录后使用绝对定位来操作此目录都会导致服务安装失败

注:什么意思呢?就是说保持当前状态就行了。假设你重新打开了一个cmd,起始目录变成了

 C:\Users\Administrator>

这时候你即便使用

 C:\Users\Administrator>D:\Program Files\mongodb\bin\mongodb.exe .......

这样的方式来注册服务,仍然会注册失败。

2.事先创建一个目录用来保存数据库文件。如果不创建这个目录,注册服务时会在表象上看似已经注册成功。但启动服务后会发现mongod.exe进程会反复建立、销毁、建立、销毁。跟着服务状态也会变成“已启动”、“已停止”、“已启动”、“已停止”,客户端根本无法连接到数据库。

这里我使用C盘下的MongoDBData目录作为数据文件存放目录,于是建立目录:

 D:\Program Files\mongodb\bin>mkdir c:\MongoDBData

好了,到这里准备工作就做好了,下面就可以安装服务了:

 D:\Program Files\mongodb\bin>mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --logpath c:\MongoDB.Log --dbpath c:\MongoDB --directoryperdb

这里简单介绍一下使用的参数及其含义:

--install:安装MongoDB服务

--serviceName:安装Windows服务时使用的服务名

--serviceDisplayName:在Windows服务管理器中显示的服务名,如下所示:

--logpath:MongoDB日志输出文件名称。虽说该参数直译是“日志路径”,其实要指定的是一个具体的完整文件名。这里我使用的是C盘根目录下的MongoDB.Log文件。该文件不用事先创建,直接指定就是了。

--dbpath:指定MongoDB数据存放的路径。这个就是最关键的参数了,不仅该目录要存在,并且最好不要以“\”结尾。

--directoryperdb:这个参数很好理解,让MongoDB按照数据库的不同,针对每一个数据库都建立一个目录,所谓的“目录每数据库”

好了,执行了上面的命令后,服务就可以成功注册了。如果你使用的操作系统是Windows Vista或者Windows 7,那么你要特别注意它的UAC机制了,必须以管理员权限打开cmd,然后注册服务才能成功注册。

打开服务管理器,启动MongoDB服务,发现该服务可以稳定持续运行。恭喜你,成功了!

原文地址:http://blog.csdn.net/chaijunkun/article/details/7227967

MongoDB安装为Windows服务方法与注意事项的更多相关文章

  1. MongoDB安装成为Windows服务及日常使用遇到问题总结

    安装MongoDB: http://blog.csdn.net/liuzhoulong/article/details/6124566 严格按照上面的步骤,设置数据库目录,设置日志目录,安装服务.可是 ...

  2. MongoDB配置服务--MongoDB安装成为windows服务

    MongoDB安装成为windows服务 1.打开命令提示符(最好以管理员的身份打开),然后输入: mongod --logpath "D:\MongoDB\data\log\logs.tx ...

  3. 将MongoDB安装成为Windows服务

    使用以下命令将MongoDB安装成为Windows服务.笔者的MongoDB目录为D:\Program Files\mongodb 切换到D:\Program Files\mongodb\bin> ...

  4. MongoDB安装成为Windows服务

    使用以下命令将MongoDB安装成为Windows服务.笔者的MongoDB目录为C:\Program Files\MongoDB\Server\3.6\bin 切换到C:\Program Files ...

  5. mongodb 安装为windows服务

    mongodb 安装为windows服务: 以管理员身份运行下面的命令: mongod --install --rest --dbpath e:\data\mongo --logpath e:\dat ...

  6. MongoDB 安装成为Windows服务

    使用以下命令将MongoDB安装成为Windows服务. mongod --logpath d:\data\logs.txt --dbpath d:\data --directoryperdb --s ...

  7. Nginx 安装成Windows 服务方法

    1. 下载nginx windows版本 http://www.nginx.org 2. 下载微软的2个工具: instsrv.exe.srvany.exe 去微软网站下载安装Windows Serv ...

  8. 用 nssm 把 Nginx 安装成 Windows 服务方法

    总之:用 nssm 比 srvany.exe 简便多了.1. 下载nginx windows版本:http://nginx.org/ 2. 下载 nssm :http://nssm.cc/3. 安装N ...

  9. MongoDB安装成windows 服务

    观看本文之间,请先移步至下面纠正部分 之前按照MongoDB官网提供的安装方法一直出错 http://cn.docs.mongodb.org/master/tutorial/install-mongo ...

随机推荐

  1. oracle ITL(事务槽)的理解

    一.ITL描述: ITL(Interested Transaction List)是Oracle数 据块内部的一个组成部分,位于数据块头(block header),itl由xid,uba,flag, ...

  2. How to create a Virtual Machine in SmartOS

    在SmartOS中,使用vmadm创建工具创建虚拟机. 此工具需要一个JSON有效负载,并使用输入JSON中指定的属性创建“kvm”或“joyent” brand zone. 正常输出是一系列单行JS ...

  3. 获取iframe内的元素

    $("#iframeID").contents().find("#index_p") 2获取父窗体的值 $('#father', parent.document ...

  4. vmware虚拟机桥接模式不能上网

    方法/步骤     首先我的主机的有线连接是正常的,如下:   但是我的虚拟机的网络连接模式为桥接模式,但是却上不了网,如下:   我们来确认下,我的虚拟机的网络模式,如下:   设置全部都是对的,但 ...

  5. Android中注解的使用

    如果你是一名安卓开发者,你也一定听过大名鼎鼎的网络请求框架Retrofit.它将网络请求的方式以注解的形式展现,极大的提高了代码的可读性,同时网络请求集中写在一个interface中提高了代码的可维护 ...

  6. Mysql操作日志

    任何一种数据库中,都有各种各样的日志.MySQL也不例外,在Mysql中有4种不同的日志.分别错误日志.二进制日志.查询日志和慢查询日志.这些日志记录着Mysql数据库不同方面的踪迹.下文将介绍这4种 ...

  7. 平衡二叉树Balanced Binary Tree

    [抄题]: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced b ...

  8. 基于快速排序的数组划分:2组 3组 K组(sort color)大小写排序 · Partition Array

    2组: [抄题]: 给出一个整数数组 nums 和一个整数 k.划分数组(即移动数组 nums 中的元素),使得: 所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中 ...

  9. 帧动画 连续播放多张图片动画 以及ui动画 SoundPool

    drawable下有很多图片  可以 <?xml version="1.0" encoding="utf-8"?> <animation-li ...

  10. VC字符串处理整理

    场景: 1.在存储数据时有时接口需要合并字符串值,并以某些特殊字符来合并部分,到需要的时候再分割它.如一些数值,人名等. 2.C++有strtok,stringstream和find函数来实现分割.可 ...