在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.bat和uninstall.bat放到mongod.exe同级目录下,然后:
- 如果之前安装过MongoDB,请先移除,如果是通过本方法安装的,可以先执行uninstall.bat;
- 执行:install.bat;
- 打开服务管理器,启动MongoDB服务即可;
- Win7用户需要在管理员权限下运行如上脚本;
总结
由于时间关系,本文省略了很多命令的编写。如果您比较追求完美,可以为如上的bat增加停止、启动和重启MongoDB服务的脚本。本文主要是想说明一种思路,起到抛砖引玉的作用。相信很多朋友都已经这么做了!
额外分享一点:如果您的MongoDB服务总是无法启动,或启动后一直在反复重启,那么请检查data目录下是否存在一个名为“mongod.lock”的文件,如果存在就删除它,然后重启服务即可。这种情况通常是由于MongoDB服务没有正常关闭造成的,比如意外断电。