centos7下搭建 MongoDB -01

距离上次写的一篇mongoDB搭建已经有一年多的时间了,刚好这次在公司搭建好在centos7下的mongodb搭建,简单的做一个记录吧

mongo 是一个基于分布式文件存储的数据库,数据主要存储在磁盘跟cpu中(一些基本的介绍我这里就不提了,执行百度)

直接进入正题:

 1、我在这里新建了一个目录

mkdir /mongo

1、下载
cd mongodb
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.8.tgz
2、解压
[root@cli mongodb]# tar -zxvf mongodb-linux-x86_64-rhel70-3.2.8.tgz
mongodb-linux-x86_64-rhel70-3.2.8/README
mongodb-linux-x86_64-rhel70-3.2.8/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-rhel70-3.2.8/MPL-2
mongodb-linux-x86_64-rhel70-3.2.8/GNU-AGPL-3.0
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongodump
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongorestore
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongoexport
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongoimport
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongostat
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongotop
mongodb-linux-x86_64-rhel70-3.2.8/bin/bsondump
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongofiles
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongooplog
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongoperf
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongod
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongos
mongodb-linux-x86_64-rhel70-3.2.8/bin/mongo

[root@cli mongodb]# mv mongodb-linux-x86_64-rhel70-3.2.8 mongodb3.2.8
[root@cli mongodb]# cd mongodb3.2.8/
3 在 /usr/local/mongodb/mongodb3.2.4/bin/ 目录中创建一个存放日志的目录:
[root@cli mongodb3.2.8]# mkdir -p data/db
4. 目录中创建一个存放数据文件的目录
[root@cli mongodb3.2.8]# mkdir -p data/logs
5.进入 bin 目录中
[root@cli mongodb3.2.8]# cd bin
6.创建配置文件 mongodb.conf:
[root@cli bin]# vim mongodb.conf

# idae - MongoDB config start - 2017-12-06
# 设置数据文件的存放目录
dbpath = /mongodb/mongodb3.2.8/data/db
# 设置日志文件的存放目录及其日志文件名
logpath =/mongodb/mongodb3.2.8/data/logs/mongodb.log
# 设置端口号(默认的端口号是 27017)
port = 27017
# 设置为以守护进程的方式运行,即在后台运行
fork = true
# nohttpinterface = true
nohttpinterface = true
# idae - MongoDB config end - 2017-12-06

按英文状态下的“:wq”保存并退出;

参数解释:
--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访问服务

7 将 mongodb 服务加入到自启动文件中:
vi /etc/rc.local
在文件末尾追加如下命令:
/mongodb/mongodb3.2.8/bin/mongod --config /mongodb/mongodb3.2.8/bin/mongodb.conf
保存并退出:
:wq!
--------------------------------------------------------------------------------

./bin/mongo

use admin

db.createUser({user:"admin", pwd:"123456",roles:[{role:"root", db:"LogSystem"}]})

关闭数据库服务器:
use admin
db.shutdownServer()

在这里主从架构(副本集模式)如果设置 auth = true
那么从服务器没有办法验证主服务器,需要在主从加上验证文件
在主服务器中执行命令
openssl rand -base64 741 >> /mongodb/mongodb.key
生成文件的字节数必须小于1024

生成的文件格式设置成600
chmod 600 /mongodb/mongodb.key
在这里已经生成了 mongodb.key,将他scp到各台从服务器上,然后在各台机器上配置 keyFile

然后在mongodb.conf 中添加
keyFile = /mongodb/mongodb.key

原文地址:https://www.cnblogs.com/jhy55/p/8081229.html