2019-11-14 centos7中安装MongoDB
MongoDB简介
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
特点
MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
模式自由 :可以把不同结构的文档存储在同一个数据库里
面向集合的存储:适合存储 JSON风格文件的形式
完整的索引支持:对任何属性可索引
复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移
自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器
丰富的查询:支持丰富的查询表达方式,查询指令使用JSON形式的标记,可轻易查询文档中的内嵌的对象及数组
快速就地更新:查询优化器会分析查询表达式,并生成一个高效的查询计划
高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)
MongoDB安装简单。
安装包说明
MongoDB官方源中包含以下几个依赖包:
mongodb-org: MongoDB元数据包,安装时自动安装下面四个组件包:
1.mongodb-org-server: 包含MongoDB守护进程和相关的配置和初始化脚本。
2.mongodb-org-mongos: 包含mongos的守护进程。
3.mongodb-org-shell: 包含mongo shell。
4.mongodb-org-tools: 包含MongoDB的工具: mongoimport, bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop。
安装步骤
1.配置MongoDB的yum源
![](https://img.haomeiwen.com/i12785400/bbcd5ad3e7a8a302.png)
![](https://img.haomeiwen.com/i12785400/df2a1171e96ee266.png)
#添加以下内容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
#这里可以修改 gpgcheck=0, 省去gpg验证
2.安装MongoDB
yum -y install mongodb-org
![](https://img.haomeiwen.com/i12785400/ffd8ecdcf4ad4716.png)
查看mongo安装位置
whereis mongod
![](https://img.haomeiwen.com/i12785400/68821a6994283b7c.png)
systemctl start mongod.service 启动 mongodb
systemctl stop mongod.service 停止 mongodb
systemctl status mongod.service 查看 mongodb状态
systemctl restart mongod.service 重启 mongodb
![](https://img.haomeiwen.com/i12785400/3bad2d242504edc2.png)
![](https://img.haomeiwen.com/i12785400/4fbcc25eff88af05.png)
mongo 启动mongo shell
show dbs 查看数据库
![](https://img.haomeiwen.com/i12785400/aeae11c2b8f57c4e.png)
3.外网访问配置
systemctl stop firewalld.service 停止firewall
systemctl disable firewalld.service 禁止firewall开机启动
编辑mongod.conf注释bindIp,并重启mongodb.(这句配置代表只能本机使用,所以需注释)
![](https://img.haomeiwen.com/i12785400/eb4fe9e389f8854f.png)
![](https://img.haomeiwen.com/i12785400/6dd7d4bfdb13da9c.png)