论坛首页 综合技术论坛

[分享]NoSQL数据库MongoDB之Windows安装

浏览 14038 次
精华帖 (0) :: 良好帖 (4) :: 新手帖 (4) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-10-24   最后修改:2010-10-24

就像和被人们当初炒得沸沸扬扬的SOA、OSGi等技术一样,NoSQL也成了当今的宠儿,虽然SOA、OSGi还在继续,但丝毫没有影响NoSQL的热度。

 

我比较喜欢新鲜的技术和知识,几个月前Twitter向NoSQL转型时,我也试着学习下NoSQL,可惜选择的是Cassandra,虽然我非常喜欢Appache,但是Cassandra的资料实在太少,在运行了下Cassandra自带的几个单元测试、看了看其源代码之后就把它丢到一边了,主要是因为没有应用驱动,不想去费时的找学习资料学习。

 

今天在CSDN中又看到了NoSQL,不过介绍的是MongoDB,话说其资料很丰富,社区也很活跃。于是我Google了一下MongoDB,不搜不知道,OMG,从安装到入门,资料真的是相当的多啊,呵呵,于是手又痒痒了,又想试一试。

 

下面主要是我在Windows上(Win7)安装、运行、安装Windows服务的笔记,以作备忘。

 

1、下载

 

下载地址:http://www.mongodb.org/downloads

 

从其下载页面就可以看出MongoDB还真的是不赖,支持各个操作系统,其驱动也有好多,其中就有我喜欢的Java和Python驱动,看样子我真的应该学习下了。

 

我下载的是Windows 32 1.7.1版本的【http://fastdl.mongodb.org/win32/mongodb-win32-i386-1.7.1.zip】(正在开发中,不稳定,不过学习可以了),它的说明中有个限制,数据最大只能2GB,不过对于学习来说,已经足够了。

 

2、安装

 

安装非常简单,解压就行了,我解压后,放在D:/MongoDB目录下。

 

为了命令行的方便,我把D:/MongoDB/bin加到系统环境变量的path中了。

 

3、运行

 

D:\>mongod --dbpath D:/MongoDB/data
Sun Oct 24 15:07:05 MongoDB starting : pid=2472 port=27017 dbpath=D:/MongoDB/data 32-bit

** NOTE: This is a development version (1.7.1) of MongoDB.
**       Not recommended for production.

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data

**       see http://blog.mongodb.org/post/137788967/32-bit-limitations

Sun Oct 24 15:07:05 db version v1.7.1, pdfile version 4.5
Sun Oct 24 15:07:05 git version: cee2d0d6816a704126c283401db24c949d5f52a3
Sun Oct 24 15:07:05 sys info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LIB_VERSION=1_35
Sun Oct 24 15:07:05 [initandlisten] waiting for connections on port 27017
Sun Oct 24 15:07:05 [websvr] web admin interface listening on port 28017

 

由于是开发版,上面就有个警告,没关系,忽略它。

 

最后两行说明的数据库端口和Web端口,分别是27017和28017,在浏览器中打开http://localhost:28017,可以看到其相关的一些信息。

 

4、安装Windows服务

 

每次运行mongod --dbpath D:/MongoDB/data命令行来启动MongoDB实在是不方便,就像我免安装的MySQL一样,我想把它作为Windows服务,这样就方便多了。

 

D:\MongoDB\bin>mongod --logpath D:\MongoDB\logs\MongoDB.log --logappend --dbpath D:\MongoDB\data --directoryperdb --serviceName MongoDB --install
all output going to: D:\MongoDB\logs\MongoDB.log
Creating service MongoDB.
Service creation successful.
Service can be started from the command line via 'net start "MongoDB"'.

 

注意:这条命令要到MongoDB的bin目录下运行,刚开始的时候,我就直接在D:\下运行,结果服务的可执行目录为【"D:\mongod" --logpath  "D:\MongoDB\logs\MongoDB.log"  --logappend  --dbpath  "D:\MongoDB\data"  --directoryperdb  --service 】,肯定是不对的。

 

该命令行指定了日志文件:D:\MongoDB\logs\MongoDB.log,日志是以追加的方式输出的;

 

数据文件目录:D:\MongoDB\data,并且参数--directoryperdb说明每个DB都会新建一个目录;

 

Windows服务的名称:MongoDB;

 

以上的三个参数都是可以根据自己的情况而定的,呵呵。

 

最后是安装参数:--install,与之相对的是--remove

 

启动MongoDB:net start MongoDB


停止MongoDB:net stop MongoDB

 

是不是很方便了!

 

以上是我的安装MongoDB的初体验,希望能与各位朋友一起学习MongoDB!

 

===========================================
如有批评、指教、疑惑,请:obullxl@163.com
祝大家使用JAVA愉快!

   发表时间:2010-10-25  
照着你写的教材测试发现“--serviceName”命令不支持,按照MongoDB命令help修改后,整体命令行执行正常,但是在命令行启动MongoDB服务时不成功,提示服务不存在。
0 请登录后投票
   发表时间:2010-10-26  
aunox 写道
照着你写的教材测试发现“--serviceName”命令不支持,按照MongoDB命令help修改后,整体命令行执行正常,但是在命令行启动MongoDB服务时不成功,提示服务不存在。

这就顶怪了,我在Win7和XP上都试过了,都是可以的。
0 请登录后投票
   发表时间:2010-10-27  
回车后弹出显示“bin\mongod.exe不是有效的win32程序”
望LZ解答,谢谢
0 请登录后投票
   发表时间:2010-10-27  
rick_liao 写道
回车后弹出显示“bin\mongod.exe不是有效的win32程序”
望LZ解答,谢谢

你已经在bin目录下执行命令,就不要加bin\路径了,因为bin\bin\mongod.exe确实不存在啊。
0 请登录后投票
   发表时间:2010-11-03  
使用Service方式,最好是建立一个自定义配置文件
0 请登录后投票
   发表时间:2010-11-05  
服务是加进去了,可是启动时报“服务没有响应控制功能”的错,怎么解决呀?
0 请登录后投票
   发表时间:2010-11-05  
"D:\mongodb\bin\mongod" --logpath  D:\mongodb\logs\mongodb.log  --logappend  -dbpath  D:\mongodb\data  --directoryperdb  mongodb  -install    这是服务里显示的路径
0 请登录后投票
   发表时间:2010-11-05  
后来用这个试个了下
mongod --logpath D:\mongodb\logs\mongodb.log -logappend --dbpath D:\mongodb\data --install
OK了..
0 请登录后投票
   发表时间:2010-11-10  
好像用了这个东西,HIBERNATE就不需要了,是吧
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics