美文网首页
MongoDB简介及ZIP安装

MongoDB简介及ZIP安装

作者: 上善若泪 | 来源:发表于2020-12-22 22:57 被阅读0次

    1 MongoDB简介

    MongoDB 是一个基于分布式文件存储的数据库。由C++ 语言编写,在高负载的情况下,添加更多的节点,可以保证服务器性能。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案
    MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于JSON 对象。字段值可以包含其他文档,数组及文档数组
    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

    特点:

    • MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易
    • 可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序
    • 可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
    • 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片
    • 支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组
    • 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段
    • Map函数调用emit(key,value)遍历集合中所有的记录,将keyvalue传给Reduce函数进行处理,Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommandmapreduce命令来执行MapReduce操作
    • GridFSMongoDB中的一个内置功能,可以用于存放大量小文件

    2 windows下安装

    MongoDB官网https://mongodb.com ,进入后选中SoftWareCommunity(社区版)和 Enterprise(企业版),根据需要选择适合自己的版本就好,有两个版本msizip

    2.1 Zip安装

    2.1.1 解压

    解压后的示例如下:比较简单


    在这里插入图片描述

    2.1.2 配置mongodb配置文件

    MongoDB 将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它
    在另外的文件夹创建数据目录data\db比如我是建在了E:\SoftWare-SQL\MongoDB\,然后在bin目录内执行命令
    mongod --dbpath E:\SoftWare-SQL\MongoDB\data\db
    注意:直接执行mongod是因为切换到了bin文件夹内部:E:\SoftWare-SQL\MongoDB\mongodb-win32-x86_64-2012plus-4.2.1\bin

    data文件夹下创建log文件夹

    创建mongod.cfg配置文件放置于bin文件夹下

    systemLog:
        destination: file
        logAppend: true
        path: E:\SoftWare-SQL\MongoDB\data\log\mongod.log
    storage:
        dbPath: E:\SoftWare-SQL\MongoDB\data\db
    

    安装MongoDB服务

    mongod --config "E:\SoftWare-SQL\MongoDB\mongodb-win32-x86_64-2012plus-4.2.1\bin\mongod.cfg" --install 
    

    附:卸载MongoDB服务

    mongod --remove
    

    执行后不报错那么查看服务如下:


    image

    此步是为了把mongodb服务装进windowns服务,而通过net start MongoDB启动命令和net stop MongoDB关闭服务

    解压后把此路径添:E:\SoftWare-SQL\MongoDB\mongodb-win32-x86_64-2012plus-4.2.1\bin加到系统变量中

    在这里插入图片描述
    DOS窗口使用mongod --version验证是否安装成功

    2.1.3 安装报错

    Error parsing YAML config file: yaml-cpp: error at line 32, column 1: end of map not found
    错误原因是:mongodb 3.0之后配置文件采用YAML格式,这种格式非常简单,使用<key>:<value>表示,开头使用空格作为缩进。需要注意的是,:之后有value的话,需要紧跟一个空格,如果key只是表示层级,则无需在:后增加空格(比如:systemLog:后面既不需要空格)。按照层级,每行2个空格缩进,依次轮推,顶层则不需要空格缩进。如果格式不正确,将会出现上面的错误

    2.2 MSI安装

    2.2.1 win7admin下安装

    使用msi安装没有这么多问题,数据库文件和日志在启动时就指定好,bin文件夹内直接有mongod.cfg文件,直接把mongodb服务装进windows就可以了

    msi安装之前会自动指定数据文件夹和日志文件夹,Mongodb会主动在安装目录下创建logdata文件,这相比较早期版本有了改善 ,早期需要自己手动创建
    此时,可以在data下创建数据文件夹db,然后在cmd进入MongoDB\bin目录下然后执行mongod --dbpath C:\MongoDB\data\db 命令(这条命令是开启服务,它会一直运行,只要你要使用Mongodb,这个窗口就不能关)

    注意:经测试此步操作的db可以有也可以没,在bin文件夹内不能使用mongod开启命令,必须使用windonws命令开启服务,然后在bin文件夹内使用mongo开启客户端就可以了

    如下是安装时的截图:

    在这里插入图片描述
    取消按照可视化界面(compass客户端可视化界面可以另外下载。但要是选中了,那就是安装一天也完成不了):
    此处是安装compass客户端
    在这里插入图片描述

    完全安装后如下:


    在这里插入图片描述

    2.2.2 win10家庭版安装遇坑

    由于win10电脑是最近新买的,版本是家庭中文版,所以不舍得破解成专业版,只能想办法让当前登录用户拥有administrators的权限了,先看看遇到的报错的坑

    2.2.2.1 权限问题

    坑一:这是提示权限不足导致的,但是右键使用管理员权限打开并没用

    在这里插入图片描述
    由于win10家庭中文版没有用户组的概念所以网上说的那些通过这个命令来改,就算了,下面是通过安全模式赋予普通用户的administrators权限
    主要步骤:
    设置->更新和安全->恢复-高级启动->立即重启->疑难解答-高级选项-启动设置-重启-4
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    进入安全模式后按WIN+R组合键,打开control userpasswords2,属性-组成员-管理员-确定就大功告成啦,重启后想修改什么安装什么都没阻碍了

    在这里插入图片描述
    在这里插入图片描述
    注意:修改完后若还是不行就关机等几秒后,再开机,这样重复几次就可以了,而且,只有再安全模式下修改的权限组才可以装成功,在正常模式下修改权限还是会报权限不足问题

    3 Linux下安装

    3.1 解压安装

    解压上传的压缩包到指定文件夹

     tar -zxvf mongodb-linux-x86_64-rhel70-5.0.6.tgz -C ../software/
    

    3.2 创建文件夹

    mkdir conf (启动配置文件)
    mkdir logs(日志文件)
    mkdir data(数据存放文件)

    conf目录下新建配置文件mongod.conf并编辑

    port=20017
    dbpath=/home/software/mongodb-5.0.6/data (创建的data目录路径)
    logpath=/home/software/mongodb-5.0.6/logs/mongod.log(创建的日志文件路径)
    fork=true(让程序在后台启动)
    bind_ip=0.0.0.0(方便让其他服务能连接)
    

    3.3 启动服务

    启动服务
    mongodb根目录执行启动mongod后台进程:
    ./bin/mongod -f conf/mongod.conf
    出现以下日志说明启动成功

    在这里插入图片描述

    3.4 脚本启动关闭

    /etc/init.d目录下 建立mongod脚本,就可实现自动启动
    如下脚本在root环境亲测可用

    case $1 in
            start)  $MONGODB_HOME/bin/mongod -f $MONGODB_HOME/conf/mongod.conf;;
            stop)  $MONGODB_HOME/bin/mongod -f $MONGODB_HOME/conf/mongod.conf --shutdown;;
         
            *) echo "require start|stop" ;;
    esac
    

    相关文章

      网友评论

          本文标题:MongoDB简介及ZIP安装

          本文链接:https://www.haomeiwen.com/subject/qdmenktx.html