MongoDB简介及ZIP安装

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 ,进入后选中SoftWare Community(社区版)和 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

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

此步是为了把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
posted @ 2020-12-22 23:00  上善若泪  阅读(353)  评论(0编辑  收藏  举报