在Windows下快速部署MongoDB服务

MongoDB概述

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB主要特点

MongoDB的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

  • 面向集合存储,易存储对象类型的数据。
  • 模式自由。
  • 支持动态查询。
  • 支持完全索引,包含内部对象。
  • 支持复制和故障恢复。
  • 使用高效的二进制数据存储,包括大型对象(如视频等)。
  • 自动处理碎片,以支持云计算层次的扩展性。
  • 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
  • 文件存储格式为BSON(一种JSON的扩展)。

MongoDB在Windows下的安装部署

一、下载MongoDB

MongoDB的官方下载地址:http://www.mongodb.org/downloads

这里老陈要特别说明的是版本的选择,要注意以下几点:

  • 当前最稳定的版本后面,都会有“Recommended” 标注;
  • 如果想试用其他版本,无论大小版本号,推荐选择偶数版本,具体原因请参考:http://www.mongodb.org/display/DOCS/Version+Numbers,这里就不再翻译了;
  • 如果您正在使用64位操作系统,请一定下载64位版本的MongoDB副本,因为32位无法存储和处理较大的数据;
  • 如果您正在使用Windows Server 2008,那么请下载针对2008优化的MongoDB副本,有“*2008+”标注;

二、配置服务

如果不需要配置服务,那么只需要在命令行直接运行mongod.exe即可,但当cmd窗口关闭之后MongoDB也就随之停止工作响应了。

我们推荐将MongoDB部署为服务,方法是执行如下命令:

mongod --logpath d:\mongo\logs\logfilename.log --logappend --dbpath d:\mongo\data --install

具体的命令行参数请参考:http://www.mongodb.org/display/DOCS/Windows+Service,或者使用如下命令查看:

mongod --help

注意:自MongoDB Ver 2.1.1+开始,mongod.exe也具备了服务部署的功能,这个以后我们再探讨。

三、更快、更简单的部署方案

1、保存下列代码为install.bat(注意根据情况做一些参数调整):

mongod -f F:\mongodb\config.ini --install

如果需要更加完美的话,可以考虑在这里增加对应的关闭和启动服务的命令。

2、保存下列代码为uninstall.bat

mongod --remove

3、保存下列代码为config.ini(注意根据情况做一些参数调整),并放在您在install.bat中指定的路径:

 1 # 端口
2 port = 25566
3
4 # 日志
5 logpath = F:\MongoDB\logFiles\mongodb.log
6 logappend = true
7 #cpu = true
8 #verbose = true
9
10 # 数据库
11 dbpath = F:\MongoDB\data
12 directoryperdb = true
13
14 # 认证
15 #auth = false
16
17 # 管理
18 #rest = true
19
20 # 主节点配置
21 master = true
22
23 # 子节点配置
24 #slave = true
25 #source = 192.168.3.56
26 #only = xxx

现在,将install.batuninstall.bat放到mongod.exe同级目录下,然后:

  1. 如果之前安装过MongoDB,请先移除,如果是通过本方法安装的,可以先执行uninstall.bat
  2. 执行:install.bat
  3. 打开服务管理器,启动MongoDB服务即可;
  4. Win7用户需要在管理员权限下运行如上脚本;

总结

由于时间关系,本文省略了很多命令的编写。如果您比较追求完美,可以为如上的bat增加停止、启动和重启MongoDB服务的脚本。本文主要是想说明一种思路,起到抛砖引玉的作用。相信很多朋友都已经这么做了!

额外分享一点:如果您的MongoDB服务总是无法启动,或启动后一直在反复重启,那么请检查data目录下是否存在一个名为“mongod.lock”的文件,如果存在就删除它,然后重启服务即可。这种情况通常是由于MongoDB服务没有正常关闭造成的,比如意外断电。

posted @ 2012-03-28 07:59 陈彦铭 阅读(...) 评论(...) 编辑 收藏