一、简介
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)