mongodb版本:5.0.5
mongodb下载地址:https://www.mongodb.com/try/download/community
1、MongoDB简介
mongodb是一个基于分布式文件存储的数据库,由C++语言编写,旨在为web应用提供可扩展的高性能数据存储解决方案。
mongodb将数据存储为一个文档,数据结构由键值(key=>value)对组成。mongodb文档类似于JSON对象,字段值可以包含其他文档,数组及文档数组。

Mongodb逻辑结构
Mongodb逻辑结构  | MySQL逻辑结构  | 
库(database)  | 库(database)  | 
集合(collection)  | 表(table)  | 
文档(document)  | 数据行(ROW)  | 
2、安装
1.设置shell执行程序的资源;关闭大页内存
(当MongoDB处于频繁访问的状态时,如果shell启动进程所占用的资源设置过低的话,将会产生错误导致无法连接到MongoDB实例)
ulimit命令详解
vim /etc/security/limits.conf
*                -       nofile         65535
*                -       nproc          65535vim /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never >/sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never >/sys/kernel/mm/transparent_hugepage/defrag
fi
2.创建用户,目录结构并设置权限
useradd -s /sbin/nologin -M -r mongodb
mkdir -p /data/mongodb/{bin,conf,log,data}
chown -R mongodb:mongodb /data/mongodb
3.解压,设置命令
tar xvf mongodb-linux-x86_64-rhel70-5.0.5.tgz
cp -a mongodb-linux-x86_64-rhel70-5.0.5/bin/* /data/mongodb/bin/
ln -s /data/mongodb/bin/* /usr/local/sbin/
4.启动,关闭
4.1 使用命令启动(常用启动参数后文介绍)
#启动
mongod --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/mongodb.log --port=27017 --logappend --fork
#关闭(谨慎操作)
mongod --shutdown --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/mongodb.log --port=27017 --logappend --fork
4.2 创建配置文件(也支持yaml格式),可指定配置文件进行启停mongodb
vim /data/mongodb/conf/mongodb.conf
dbpath = /data/mongodb/data
logpath = /data/mongodb/log/mongodb.log
logappend = true
port = 27017
fork = true
#auth = true
bind_ip = 0.0.0.0storage:
  dbPath: "/data/mongodb/data"
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path: "/data/mongodb/log/mongodb.log"
processManagement:
  fork: true
net:
  port: 27017
security:
  authorization: enabled#启动
mongod -f /data/mongodb/conf/mongodb.conf
#关闭
mongod -f /data/mongodb/conf/mongodb.conf.bak --shutdown
5.登录
#直接登录(默认无用户名与密码)
mongo
6.常用启动参数
参数  | 说明  | 
--quiet  | 安静输出  | 
--port  | 指定服务端口号,默认端口27017  | 
--bind_ip  | 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP;绑定0.0.0.0,则可远程连接  | 
--logpath  | 指定MongoDB日志文件,注意是指定文件不是目录  | 
--logappend  | 使用追加的方式写日志  | 
--pidfilepath  | PID File 的完整路径,如果没有设置,则没有PID文件  | 
--keyFile  | 集群的私钥的完整路径,只对于Replica Set 架构有效  | 
--unixSocketPrefix  | UNIX域套接字替代目录,(默认为 /tmp)  | 
--fork  | 以守护进程的方式运行MongoDB,创建服务器进程  | 
--auth  | 启用验证  | 
--cpu  | 定期显示CPU的CPU利用率和iowait  | 
--dbpath  | 指定数据库路径  | 
--diaglog  | diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads  | 
--directoryperdb  | 设置每个数据库将被保存在一个单独的目录  | 
--journal  | 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里  | 
--journalOptions  | 启用日志诊断选项  | 
--ipv6  | 启用IPv6选项  | 
--jsonp  | 允许JSONP形式通过HTTP访问(有安全影响)  | 
--maxConns  | 最大同时连接数 默认2000  | 
--noauth  | 不启用验证  | 
--nohttpinterface  | 关闭http接口,默认关闭27018端口访问  | 
--noprealloc  | 禁用数据文件预分配(往往影响性能)  | 
--noscripting  | 禁用脚本引擎  | 
--notablescan  | 不允许表扫描  | 
--nounixsocket  | 禁用Unix套接字监听  | 
--nssize arg (=16)  | 设置信数据库.ns文件大小(MB)  | 
--objcheck  | 在收到客户数据,检查的有效性,  | 
--profile  | 档案参数 0=off 1=slow, 2=all  | 
--quota  | 限制每个数据库的文件数,设置默认为8  | 
--quotaFiles  | number of files allower per db, requires --quota  | 
--rest  | 开启简单的rest API  | 
--repair  | 修复所有数据库run repair on all dbs  | 
--repairpath  | 修复库生成的文件的目录,默认为目录名称dbpath  | 
--slowms arg (=100)  | value of slow for profile and console log  | 
--smallfiles  | 使用较小的默认文件  | 
--syncdelay arg (=60)  | 数据写入磁盘的时间秒数(0=never,不推荐)  | 
--sysinfo  | 打印一些诊断系统信息  | 
--shutdown  | 关闭数据库  | 
--upgrade  | 如果需要升级数据库  | 
    
    










