您的位置:首页 > 数据库 > Mongodb

MongoDB安装为Windows服务方法与注…

2014-07-25 16:14 627 查看

mongodbwindows数据库cmdc互联网

本文出处:/article/2129079.html,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。

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

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

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

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

目前我所使用的是2.0.2版。

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

[plain] view
plaincopyprint?

C:\Documents and
Settings\chaijunkun>d:

D:\>cd
mongodb-win32-i386-2.0.2

D:\mongodb-win32-i386-2.0.2>cd
bin

D:\mongodb-win32-i386-2.0.2\bin>dir

驱动器 D 中的卷没有标签。

卷的序列号是 F4CA-B47C

D:\mongodb-win32-i386-2.0.2\bin
的目录

2012-02-01 16:48

2012-02-01 16:48

2011-12-14 12:23 3,644,928
bsondump.exe

2011-12-14 12:25 1,793,536 mongo.exe

2011-12-14 12:28 3,952,640
mongod.exe

2011-12-14 12:30 3,660,800 mongodump.exe

2011-12-14 12:32 3,651,072
mongoexport.exe

2011-12-14 12:34 3,656,192 mongofiles.exe

2011-12-14 12:36 3,668,992
mongoimport.exe

2011-12-14 12:38 3,654,656 mongorestore.exe

2011-12-14 12:39 2,807,808
mongos.exe

2011-12-14 12:41 3,689,472 mongostat.exe

2011-12-14 12:46 3,657,216
mongotop.exe

11 个文件 37,837,312 字节

2 个目录 97,404,313,600 可用字节

C:\Documents and Settings\chaijunkun>d:

D:\>cd mongodb-win32-i386-2.0.2

D:\mongodb-win32-i386-2.0.2>cd bin

D:\mongodb-win32-i386-2.0.2\bin>dir
驱动器 D 中的卷没有标签。
卷的序列号是 F4CA-B47C

D:\mongodb-win32-i386-2.0.2\bin 的目录

2012-02-01  16:48

. 2012-02-01 16:48
.. 2011-12-14 12:23 3,644,928
bsondump.exe 2011-12-14 12:25 1,793,536 mongo.exe 2011-12-14 12:28
3,952,640 mongod.exe 2011-12-14 12:30 3,660,800 mongodump.exe
2011-12-14 12:32 3,651,072 mongoexport.exe 2011-12-14 12:34
3,656,192 mongofiles.exe 2011-12-14 12:36 3,668,992 mongoimport.exe
2011-12-14 12:38 3,654,656 mongorestore.exe 2011-12-14 12:39
2,807,808 mongos.exe 2011-12-14 12:41 3,689,472 mongostat.exe
2011-12-14 12:46 3,657,216 mongotop.exe 11 个文件 37,837,312 字节 2 个目录
97,404,313,600 可用字节

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

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

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

[plain] view
plaincopyprint?

C:\Documents and
Settings\chaijunkun>

C:\Documents and Settings\chaijunkun>

这时候你即便使用

[plain] view
plaincopyprint?

C:\Documents and
Settings\chaijunkun>D:\mongodb-win32-i386-2.0.2\bin\mongod.exe
.............

C:\Documents and Settings\chaijunkun>D:\mongodb-win32-i386-2.0.2\bin\mongod.exe .............

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

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

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

[plain] view
plaincopyprint?

D:\mongodb-win32-i386-2.0.2\bin>mkdir
c:\MongoDBData

D:\mongodb-win32-i386-2.0.2\bin>mkdir c:\MongoDBData


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

[plain] view
plaincopyprint?

D:\mongodb-win32-i386-2.0.2\bin>mongod --install
--serviceName MongoDB --serviceDisplayName MongoDB --logpath
c:\MongoDB.Log --dbpath c:\MongoDB
--directoryperdb

D:\mongodb-win32-i386-2.0.2\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服务,发现该服务可以稳定持续运行。恭喜你,成功了!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: