Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 458|回复: 0

[默认分类] MongoDb进阶实践之二 如何在Windows上配置MongoDB

  [复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-3-26 10:47:57 | 显示全部楼层 |阅读模式
    一、引言

                上一篇文章,我介绍了如何在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服务失败,切记。



    1.                 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 27017
    复制代码



                              IP 地址和Port 端口号可以不写,默认连接IP是127.0.0.1,Port端口号:27017,以上连接是短连接,关闭其窗口,MongoDB服务就是关掉,打开MongoDB服务的窗口是不能关闭的,关闭就不能提供服务。也可以通过Ctrl+C 退出MongoDB启动的服务。

                                       

                               如果想长期提供服务,可以以Windows服务的形式启动MongoDB服务。



    1.                  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 27017 --install -serviceName "MongoDBService"
    复制代码



                                8.1、启动MongoDB的服务

    1.                      D:\Program Files\MongoDB\Server\3.6\bin>net start MongoDB
    2.                      MongoDB服务正在启动。
    3.                      MongoDB服务已经启动成功。
    复制代码



                               8.2、关闭MongoDB的服务

    1.                      D:\Program Files\MongoDB\Server\3.6\bin>net stop MongoDB
    2.                      MongoDB服务正在停止。
    3.                      MongoDB服务已经停止成功。
    复制代码



                                8.3、移除MongoDB的服务

    1.                      D:\Program Files\MongoDB\Server\3.6\bin>mongod --serviceName MongoDBService --remove
    2.                      2018-03-25T14:38:26.643+0800 I CONTROL [main] Tryiing o remove Windows service "MongoDBService"
    3.                      2018-03-25T14:38:26.999+0800 I CONTROL [main] Service "MongoDBService" removed
    复制代码



                                8.4、配置参数说明



    1.                   参数               描述
    2.                 --bind_ip            绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
    3.                 --logpath            定MongoDB日志文件,注意是指定文件不是目录
    4.                 --logappend            使用追加的方式写日志
    5.                 --dbpath             指定数据库路径
    6.                 --port              指定服务端口号,默认端口27017
    7.                 --serviceName            指定服务名称
    8.                 --serviceDisplayName       指定服务名称,有多个mongodb服务时执行。
    9.                 --install            指定作为一个Windows服务安装。
    复制代码




                9、启动mongodb的客户端:

                         我们可以在命令窗口中运行 mongo.exe 命令即可连接上 MongoDB,执行如下命令:
     

    1.               D:\Program Files\MongoDB\Server\3.6\bin>mongo.exe --host 192.168.127.1 --port 27017
    复制代码


                 
                                   
       

                   10、关闭或者退出Mongodb客户端



    1.                > exit 或者 Ctrl+C
    复制代码




    四、总结

                   好了,今天就写到这里,设计安装的就到此为止了。以后开始要写关于MongoDB的基本操作了,大家敬请期待。自己也是在学习的过程中,肯定会有很多不足的地方,也希望大家提出来,共同学习,共同进步。对了,还有一个问题,我们可以直接通过命令行的工具操作MongoDB,当然也会有可视化的工具,我使用的是:MongoChef,下载地址是:https://studio3t.com/,安装很简单,我就不演示了,大家直接按着提示安装就可以,使用也不难,好了。继续努力。
                                                                                         
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-26 13:38 , Processed in 0.452335 second(s), 54 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表