前言

  • 模式自由 :可以把不同结构的文档存储在同一个数据库里
  • 面向集合的存储:适合存储 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

Centos7下安装MongoDB4.0.10的更多相关文章

  1. Win7下安装MongoDB4.0.10

    前言 MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什 ...

  2. Linux CentOS7下安装Zookeeper-3.4.10服务(最新)

    Linux CentOS7下安装Zookeeper-3.4.10服务(最新) 2017年10月27日 01:25:26 极速-蜗牛 阅读数:1933   版权声明:本文为博主原创文章,未经博主允许不得 ...

  3. CENTOS7下安装REDIS4.0.11

    拷贝收藏私用,别无他意,原博客地址: https://www.cnblogs.com/zuidongfeng/p/8032505.html 1.安装redis 第一步:下载redis安装包 wget ...

  4. Linux下安装redis-4.0.10

    1.下载redis-4.0.10 在redis官网(https://redis.io/download)下载redis-4.0.10 2.将安装包上传至Linux服务器 在Linux服务器根目录下创建 ...

  5. CentOS7下安装Redis5.0.2

    1.下载redis 地址 http://download.redis.io/releases/redis-5.0.2.tar.gz 2.解压tar -zxf redis-5.0.2.tar.gz 3. ...

  6. CentOS7.5安装MongoDB4.0与CRUD基本操作

    一 MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数 ...

  7. centos7下安装mysql8.0.12及设置权限

    一.mysql版本介绍 mysql的官网为:https://www.mysql.com/ 在官网上可以看到多个版本,主要版本如下, 1.MySQL Community Server 社区版本,开源免费 ...

  8. Centos7 下安装Redis4.0.6

    一.安装redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz [root@iZwz991stxd ...

  9. Centos7下安装MySQL8.0.23-小白的开始

    首先简单介绍一下什么叫MySQL: 数据库简而言之就是存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.是为了实现一定的目的,按照某种规则组织起来的数据的集合: MySQL ...

随机推荐

  1. 搭建iOS开发环境

    搭建ios开发环境 1.  直接购买Apple公司的电脑,如MacBook笔记本电脑,默认自带了Mac OS X操作系统. 2.下载安装Xcode和SDK     登录https://develope ...

  2. 如何调试Maven软件的源代码

    和调试maven插件方法一样 修改maven源代码 打包模块apache-maven,生成apache-maven-x.x.x-bin.tar.gz 解压上面的压缩包,生成目录apache-maven ...

  3. jenkins的pipeline拉取指定分支的代码

    脚本示例 pipeline { agent any options { durabilityHint 'PERFORMANCE_OPTIMIZED' timeout(time:5, unit: 'MI ...

  4. gd库的相关内容

    gd库注意事项 对于乱码问题 在php里面包含 header("content-type:image/png"); 这样输出的图像就不会乱码了后面跟的Png也可以改变为自己想要输出 ...

  5. vue项目中导出Excel文件功能的前端代码实现

    在项目中遇到了两种不同情况, 1.get请求导出文件,实现起来相对简单 // 导出数据 exportData() { window.location.href = `/oes-content-mana ...

  6. 最新 美团java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.美团等10家互联网公司的校招Offer,因为某些自身原因最终选择了美团.6.7月主要是做系统复习.项目复盘.LeetCode ...

  7. css实现可伸缩的搜索框

    效果图: 代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...

  8. js修改css属性值

    推荐用dom.style.setProperty('属性','属性值'); 例如: $("#id")[0].style.setProperty('margin-top','1px' ...

  9. 微信公众号 微信连wifi最全的教程

    微信公众号 微信连wifi最全的教程 http://jingyan.baidu.com/article/1709ad806c69bd4634c4f0b3.html 放到自定义菜单 只能用新建图文 把二 ...

  10. [学习笔记] Blender layout 视图切换

    layout 数字键5  --- 正交视图/透视图 切换 数字键0 -- 摄像机视图 数字键7 -- 顶视图 数字键1 --- 前视图 数字键3 --- 右视图 ctrl +数字键3 --- 左视图 ...