MongoDb进阶实践之二 如何在Windows上配置MongoDB
一、引言
上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译,省去了Make && Make Install 命令的使用。我们既然介绍了在Linux系统(确切的说是CentOS 7上)上如何安装MongoDB,那么在Windows上的安装也是必不可少的环节,要想懂得更全面,必须自己亲身去做这些安装和配置,只有自己亲身操作了,才会给你留下更深的印象,废话不多说,就是我们的文章吧。
二、MongoDB简介
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB服务端可运行在Linux、Windows或mac os x平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。
使用场景:
1、MongoDB 的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS 系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身。根据官方网站的描述,Mongo 适用于以下场景。
● 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
● 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo 搭建的持久化缓存层可以避免下层的数据源过载。
● 大尺寸、低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
● 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库,Mongo 的路线图中已经包含对MapReduce 引擎的内置支持。
● 用于对象及JSON 数据的存储:Mongo 的BSON 数据格式非常适合文档化格式的存储及查询。
2、MongoDB 的使用也会有一些限制
● 高度事务性的系统:例如,银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。
● 传统的商业智能应用:针对特定问题的BI 数据库会产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。
● 需要SQL 的问题。
主要特点:
1、MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
2、你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
3、你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
4、如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上这就是所谓的分片。
5、Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
6、MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
7、Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
8、Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
9、Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
10、GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
11、MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
12、MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
13、MongoDB安装简单。
三、安装详解
为了让大家理解的更清楚,我一般都进行了截图,大家可以放心一步一步的来学习。人都有一个毛病,对自己不知道的事情就没有信心,我当然也有这个毛病,其实只要努力研究一下子,是可以搞定的,开始我们的教程吧。
1、官网下载地址
MongoDB 提供了可用于 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center?jmp=nav#community

2、目前MongoDB官网,只提供Windows Server 2008 R2 64位版本的MSI安装包,点击【Download】下载MongoDB安装包

3、根据你的系统下载 64 位的 .msi 文件,下载后双击该文件,按操作提示安装即可。开始安装,直接点击【下一步】

4、同意协议,否则无法继续安装,点击【下一步】。

5、选择安装的类型,我们选择【自定义】,修改安装目录
你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录。



6、开始安装MongoDB应用程序



7、 创建保存 Mongodb 数据文件和日志文件的目录:
MongoDB的数据文件和日志文件的目录地址可以定义在任何地方,但是我定义在安装目录下。
MongoDB当前的安装目录:D:\Program Files\MongoDB\Server\3.6\
MongoDB数据文件的目录:D:\MongoDB\3.6\Datas\
MongoDB日志文件的目录:D:\MongoDB\3.6\Logs\
需要说明一点,Mongodb的数据文件和日志文件的保存目录地址不能包含空格,否则会启动MongoDB服务,例如:\Program Files,这样的目录是不可以的,因为Program 和 Files之间有空格,我搞了半天才明白,血的代价。
8、命令行下运行 MongoDB 服务器
为了从命令提示符下运行 MongoDB 服务器,你必须从 MongoDB 目录的 bin 目录中执行 mongod.exe 文件。cd 到 D:\Program Files\MongoDB\Server\3.6\bin 目录下面。数据目录和日志目录的地址中不能包含特殊字符,中文字符,也不能包含空格字符,比如:数据目录地址是 D:\Program Files\MongoDB\Server\3.6\bin\Datas,就是因为有“Program Files”这个目录,中间有空格,不能创建目录,导致启动MongoDB服务失败,切记。
D:\Program Files\MongoDB\Server\3.6\bin>mongod --dbpath D:\MongoDB\3.6\Datas\ --logpath D:\MongoDB\3.6\Logs\mongodb.log --bind_ip 192.168.127.1 --port
D:\Program Files\MongoDB\Server\3.6\bin>mongod --dbpath=D:\MongoDB\3.6\Datas\ --logpath=D:\MongoDB\3.6\Logs\mongodb.log --bind_ip=192.168.127.1 --port=
--dbpath --logpath bind_ip port,这些参数和值可以通过“ ”空格连接,也可以通过“=”连接,效果相同
IP 地址和Port 端口号可以不写,默认连接IP是127.0.0.1,Port端口号:27017,以上连接是短连接,关闭其窗口,MongoDB服务就是关掉,打开MongoDB服务的窗口是不能关闭的,关闭就不能提供服务。也可以通过Ctrl+C 退出MongoDB启动的服务。

如果想长期提供服务,可以以Windows服务的形式启动MongoDB服务。
D:\Program Files\MongoDB\Server\3.6\bin>mongod --dbpath D:\MongoDB\3.6\Datas\ --logpath D:\MongoDB\3.6\Logs\mongodb.log --bind_ip 192.168.127.1 --port --install -serviceName "MongoDBService"
8.1、启动MongoDB的服务
D:\Program Files\MongoDB\Server\3.6\bin>net start MongoDB
MongoDB服务正在启动。
MongoDB服务已经启动成功。
8.2、关闭MongoDB的服务
D:\Program Files\MongoDB\Server\3.6\bin>net stop MongoDB
MongoDB服务正在停止。
MongoDB服务已经停止成功。
8.3、移除MongoDB的服务
D:\Program Files\MongoDB\Server\3.6\bin>mongod --serviceName MongoDBService --remove
--25T14::26.643+ I CONTROL [main] Tryiing o remove Windows service 'MongoDBService'
--25T14::26.999+ I CONTROL [main] Service 'MongoDBService' removed
8.4、配置参数说明
参数 描述
--bind_ip 绑定服务IP,若绑定127.0.0.,则只能本机访问,不指定默认本地所有IP
--logpath 定MongoDB日志文件,注意是指定文件不是目录
--logappend 使用追加的方式写日志
--dbpath 指定数据库路径
--port 指定服务端口号,默认端口27017
--serviceName 指定服务名称
--serviceDisplayName 指定服务名称,有多个mongodb服务时执行。
--install 指定作为一个Windows服务安装。
9、启动mongodb的客户端:
我们可以在命令窗口中运行 mongo.exe 命令即可连接上 MongoDB,执行如下命令:
D:\Program Files\MongoDB\Server\3.6\bin>mongo.exe --host 192.168.127.1 --port

10、关闭或者退出Mongodb客户端
> exit 或者 Ctrl+C
四、总结
好了,今天就写到这里,涉及到的安装的就到此为止了。以后开始就要写关于MongoDB的基本操作了的文章了,大家敬请期待。自己也是在学习的过程中,肯定会有很多不足的地方,也希望大家提出来,共同学习,共同进步。对了,还有一个问题,我们可以直接通过命令行的工具操作MongoDB,当然也会有可视化的工具,我使用的是:MongoChef,下载地址是:https://studio3t.com/,安装很简单,我就不演示了,大家直接按着提示安装就可以,使用也不难,好了。继续努力。
MongoDb进阶实践之二 如何在Windows上配置MongoDB的更多相关文章
- 如何在Windows上配置EBS R12.1.3的OAF开发环境
1.找到想要开发的EBS OAF扩展对应的PATCH,可以参照下面的Note,因为我要做的是R12.1.3的开发,所以要下载p9879989_R12_GENERIC OA Framework - Ho ...
- MongoDb进阶实践之六 MongoDB查询命令详述(补充)
一.引言 上一篇文章我们已经介绍了MongoDB数据库的查询操作,但是并没有介绍全,随着自己的学习的深入,对查询又有了新的东西,决定补充进来.如果大家想看上一篇有关MongoDB查询的 ...
- MongoDB(二):在Windows环境安装MongoDB
1. 在Windows环境安装 1.1 MongoDB下载 要在Windows上安装MongoDB,首先打开MongoDB官网:https://www.mongodb.com/download-cen ...
- (转)如何在Windows上安装多个MySQL
原文:http://www.blogjava.net/hongjunli/archive/2009/03/01/257216.html 如何在Windows上安装多个MySQL 本文以免安装版的mys ...
- 如何在Windows上搭建Android开发环境
Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...
- Redis简介以及如何在Windows上安装Redis
Redis简介 Redis是一个速度非常快的非关系型内存数据库. Redis提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erla ...
- 在Windows上安装MongoDB
原文官方文档:https://docs.mongodb.org/v2.6/tutorial/install-mongodb-on-windows/ 基于版本:MongoDB 2.6 概览 通过这个示例 ...
- 如何在Windows上挂载Linux系统分区
NFS普遍用于unix之间共享,windows默认是不支持这种文件系统的.如果我们要用windows访问NFS的话,而windows系统自身又不支持这种文件系统,那么我们该怎么办? 别急,小编这就手把 ...
- 如何在windows上把你的项目提交到github(转载)
(1)如何在windows上把你的项目提交到githubhttp://michaelye1988.iteye.com/blog/1637951 (2)github错误提示:fatal:remote o ...
随机推荐
- 浅谈 Glide - BitmapPool 的存储时机 & 解答 ViewTarget 在同一View显示不同的图片时,总用同一个 Bitmap 引用的原因
作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...
- SyntaxError: Missing parentheses in call to 'print'
C:\Users\konglb>python Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 17:26:49) [MSC v.1900 32 bit (I ...
- SSH2三大框架SQL查询
/** * 查询省份名称 * @author YHD * @return * @see */ @SuppressWarnings("unchecked") @Override pu ...
- Android项目中的各个模块框架设计
作为Android开发,现对项目开发中的各个模块搭建,梳理如下: Android UI框架,开发人员需要达到专家级 网络框架 浏览框架 图片加载框架 图片裁剪压缩工具类 客户端并发框架 线程池设计 ( ...
- DML触发器1
数据库触发器是特殊的存储程序.通常不直接调用它们,而是由数据库的事件触发. 触发器分类: >DML触发器 >instead-of触发器 >系统事件触发器,还可以是DDL 一. DML ...
- JNDI在本项目中的应用
一,在tomcat的context文件中做如下配置 <?xml version="1.0" encoding="UTF-8"?> <Conte ...
- js中的回调函数的理解
一,常见的但是不是特别注意的回调方法. 1.1,ajax $.ajax({ url:"test.json", type: "GET", data: {usern ...
- 关于protected关键字
protected,算是默认的访问作用域的超集,他们在相同包下时,都可以访问所声明的成员:但对于不同包的访问,默认访问域就不行,protected也必须是通过继承关系来访问. TestBase bas ...
- 【BZOJ2160】拉拉队排练(回文树)
[BZOJ2160]拉拉队排练(回文树) 题面 BZOJ 题解 看着题目, 直接构建回文树 求出每个回文串的出现次数 直接按照长度\(sort\)一下就行了 然后快速幂算一下答案就出来了 这题貌似可以 ...
- 【BZOJ4827】【HNOI2017】礼物(FFT)
[BZOJ4827][HNOI2017]礼物(FFT) 题面 Description 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一 个送给她.每 ...