一、简介

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

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的

系统:CentOS Linux release 7.2.1511 (Core)

版本:MongoDB 3.2.10

官网: https://www.mongodb.com

 

二、安装

这里我们在官网下载源码进行安装. 下载地址: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.10.tgz

下载源码, 使用wget下载

cd /mnt/soft
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.10.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-3.2.10.tgz -C /usr/local
cd /usr/local
mv mongodb-linux-x86_64-rhel70-3.2.10 mongodb

配置环境变量

修改/etc/profile, 添加如下

vim /etc/profile

    export MONGODB_HOME=/usr/local/mongodb

export PATH=$MONGODB_HOME/bin:$PATH

source /etc/profile


创建数据目录: mkdir /usr/local/mongodb/data

   创建存放日志目录:    mkdir     /mnt/logs/mongodb/

 

添加配置文件

新建mongod.conf配置文件, 通过这个配置文件进行启动.

cat /usr/local/mongodb/mongod.conf

bind_ip = 0.0.0.0
port = 50570      #启用指定端口号
logpath = /mnt/logs/mongodb/mongod.log  #日志文件路径
dbpath = /usr/local/mongodb/data        #数据库路径(数据文件)
#auth = true         #指定为是否需要验证权限登录(用户名和密码),先关闭,创建好用户再启动
master = true        #指定为主机器

 

常用文件参数说明:

mongodb的参数说明:
--dbpath 数据库路径(数据文件)

--logpath 日志文件路径

--master 指定为主机器

--slave 指定为从机器

--source 指定主机器的IP地址

--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。

--logappend 日志文件末尾添加

--port 启用端口号

--fork 在后台运行

--only 指定只复制哪一个数据库

--slavedelay 指从复制检测的时间间隔

--auth 是否需要验证权限登录(用户名和密码)

注:mongodb配置文件里面的参数很多,定制特定的需求,请参考官方文档

 

我这里是使用supervisord管理进程的

文件:

[root@sosoapi mongodb]# cat /etc/supervisord.conf.d/mongod.conf 
[program:mongodb]
command=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongod.conf ; the program (relative uses PATH, can take args)
process_name=%(program_name)s ; process_name expr (default %(program_name)s)
numprocs=1 ; number of processes copies to start (def 1)
directory=/usr/local/mongodb/bin ; directory to cwd to before exec (def no cwd)
;umask=022 ; umask for process (default None)
;priority=999 ; the relative start priority (default 999)
autostart=true ; start at supervisord start (default: true)
startsecs=1 ; # of secs prog must stay up to be running (def. 1)
startretries=3 ; max # of serial start failures when starting (default 3)
;autorestart=unexpected ; when to restart if exited after running (def: unexpected)
;exitcodes=0,2 ; 'expected' exit codes used with autorestart (default 0,2)
;stopsignal=QUIT ; signal used to kill process (default TERM)
;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
;stopasgroup=false ; send stop signal to the UNIX process group (default false)
;killasgroup=false ; SIGKILL the UNIX process group (def false)
;user=chrism ; setuid to this UNIX account to run the program
redirect_stderr=true ; redirect proc stderr to stdout (default false)
stdout_logfile=/mnt/logs/supervisor/mongodb_stdout_log ; stdout log path, NONE for none; default AUTO
stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=10 ; # of stdout logfile backups (default 10)
stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
;stdout_events_enabled=false ; emit events on stdout writes (default false)
stderr_logfile=/mnt/logs/supervisor/mongodb_stderr_log ; stderr log path, NONE for none; default AUTO
stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
stderr_logfile_backups=10 ; # of stderr logfile backups (default 10)
stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
;stderr_events_enabled=false ; emit events on stderr writes (default false)
;environment=A="1",B="2" ; process environment additions (def no adds)
;serverurl=AUTO ; override serverurl computation (childutils)



 

 

cd /usr/local/mongodb/bin
./mongo

创建数据库
use test
switched to db test

创建成功


创建用户,设置权限
db.createUser(
    {
        user: "test",
        pwd: "test",
        roles: [ { role: "readWrite", db: "test" } ]
    }
)

 

 

详细权限配置参考网址: [MongoDB 3.0 用户创建](http://www.cnblogs.com/zhoujinyi/p/4610050.html)