简介
- MongoDB 是一个基于分布式 文件存储的NoSQL数据库
- 由C++语言编写,运行稳定,性能高
- 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案
- 查看官方网站
MongoDB特点
- 模式自由 :可以把不同结构的文档存储在同一个数据库里
- 面向集合的存储:适合存储 JSON风格文件的形式
- 完整的索引支持:对任何属性可索引
- 复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移
- 自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器
- 丰富的查询:支持丰富的查询表达方式,查询指令使用JSON形式的标记,可轻易查询文档中的内嵌的对象及数组
- 快速就地更新:查询优化器会分析查询表达式,并生成一个高效的查询计划
- 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)
Packages包说明
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。
前言
CentOS上安装epel-release的yum源之后就可以安装MongoDB,但是版本都是比较老的,如果使用MongoDB官方的yum就可以安装到比较新版本的MongoDB。
配置yum源
cat > /etc/yum.repos.d/MongoDB.repo <<EOF
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
EOF
安装
yum -y install mongodb-org
创建数据目录
一般分配到独立的大分区
mkdir -p /data/mongodb/data /data/mongodb/logs
chown mongod.mongod /data/mongodb/data /data/mongodb/logs -R #默认是使用mongod执行的,所以需要修改一下目录权限
修改配置文件
vi /etc/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /data/mongodb/logs/mongod.log #修改到我们专门创建的目录
# Where and how to store data.
storage:
dbPath: /data/mongodb/data #修改到我们专门创建的目录
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /data/mongodb/logs/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
#bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces. #修改监听所有的端口
#security:
# authorization: enabled #这里是开启验证功能,暂时先关闭,等创建完root用户再开起来进行验证
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
启动mogodb
systemctl start mongod.service
systemctl stop mongod.service //停止
systemctl restart mongod.service //重启
设置开机自启动
systemctl enable mongod
连接MongoDB数据库
直接使用mongo命令进行连接,默认端口是27017
创建验证用户
db.createUser({user:"root",pwd:"rootpassword",roles:[{role:"root",db:"admin"}]})
修改配置文件
security:
authorization: enabled
添加上验证,重启mongd服务
登录验证
mongo -u root -p rootpassword --authenticationDatabase admin
卸载MongoDB
该过程将会完全移除MongoDB、它的配置、和所有数据库。
1.停止服务
1 |
|
2.移除包
1 |
|
3.移除数据和日志文件
1 2 |
|
总结
这样子就可以撸起MongoDB了,是不是很简单?