前言
- 模式自由 :可以把不同结构的文档存储在同一个数据库里
- 面向集合的存储:适合存储 JSON风格文件的形式
- 完整的索引支持:对任何属性可索引
- 复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移
- 自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器
- 丰富的查询:支持丰富的查询表达方式,查询指令使用JSON形式的标记,可轻易查询文档中的内嵌的对象及数组
- 快速就地更新:查询优化器会分析查询表达式,并生成一个高效的查询计划
- 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)
下载
打开mongodb下载地址后选择Community Server,然后选择Linux下载对应的版本安装包即可,但是下拉列表中有很多Linux安装包,Centos选择带RHEL的安装包,这里选择RHEl 7 Linux 64-bit x64版本的安装包即可
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.10.tgz
安装
1、切换到usr/local/文件夹下
cd /usr/local/
2、下载MongoDB源码包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.10.tgz
3、解压文件
tar -xzvf mongodb-linux-x86_64-rhel70-4.0.10.tgz
4、将解压后的文件重命名为mongodb
mv mongodb-linux-x86_64-rhel70-4.0.10 mongodb
5、添加mongodb的环境变量
vi /etc/profile
6、在文件末尾插入如下内容
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
7、修改保存后要重启系统配置,执行命令如下
source /etc/profile
配置
1、创建数据库文件存放路径
cd /usr/local/mongodb
mkdir -p data/db
chmod -R 777 data/db
2、创建日志文件
cd /usr/local/mongodb
mkdir logs
cd logs
touch mongodb.log
3、创建启动文件
cd /usr/local/mongodb/bin
touch mongodb.conf
4、编辑启动文件
vi mongodb.conf
5、在文件中插入如下内容
# 设置端口号(默认的端口号是 27017)
port = 27017
# 设置数据文件的存放目录
dbpath = /usr/local/mongodb/data/db
# 设置日志文件的存放目录及其日志文件名
logpath = /usr/local/mongodb/logs/mongodb.log
#使用追加的方式写日志
logappend=true
# 设置为以守护进程的方式运行,即在后台运行
fork = true
#最大同时连接数
maxConns=100
#不启用验证
noauth=true
#每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)
journal=true
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复
#存储引擎有mmapv1、wirtiger、mongorocks
storageEngine=wiredTiger
#这样就可以外部访问了
bind_ip=0.0.0.0
参数解释
**参数解释: **
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加,即使用追加的方式写日志
--journal 启用日志
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
--syncdelay 数据写入硬盘的时间(秒),0是不等待,直接写入
--notablescan 不允许表扫描
--maxConns 最大的并发连接数,默认2000
--pidfilepath 指定进程文件,不指定则不产生进程文件
--bind_ip 绑定IP,绑定后只能绑定的IP访问服务
启动
切换到bin目录下
cd /usr/local/mongodb/bin
启动数据库
./mongod --config mongodb.conf
访问数据库
mongo