Centos 7 中MongoDB3.4.2 单机搭建

一、环境准备

1、Centos7 
2、mongodb3.4.2 
3、三台机器IP分别是:192.168.0.183

二、mongdb数据库的安装

1、首先下载好mongodb安装包mongodb-linux-x86_64-rhel70-3.4.2.tgz

cd /usr/local

mkdir data

cd data

wget https://bbcbackup.oss-cn-shenzhen.aliyuncs.com/run/linux/mongodb-linux-x86_64-rhel70-3.4.2.tgz

2、使用tar命令解压安装包然后修改解压后的目录名

tar zxvf  mongodb-linux-x86_64-rhel70-3.4.2.tgz
mv mongodb-linux-x86_64-rhel70-3.4.2 mongodb

3、 进入 mongodb目录中新建三个目录conf、logs 、db 

conf存储配置文件目录,logs用来存储日志目录,db用来存储数据目录

cd mongodb

cd mongodb && mkdir conf logs db

4、进入conf目录新建mongodb的配置文件mongodb.conf

cd conf && touch mongodb.conf

5、编写配置文件mongodb.conf,内容如下 
其中dbpath是数据库文件目录,logpath是日志目录,port是mongodb所占用的端口,fork是true的时候表示在后台启动

dbpath=/usr/local/data/mongodb/db
logpath=usr/local/data/mongodb/logs/mongodb.log
port=27017
fork=true

6、启动mongodb 

其中–replSet表示副本集群参数 ,mongoTest是副本集名称,这里的名字可以任意取,另外两台机也要和这个一样 

/usr/local/data/mongodb/bin/mongod --config /usr/local/data/mongodb/conf/mongodb.conf 

如果启动成功会看到类似下面的提示

about to fork child process, waiting until server is ready for connections.
forked process: 15398
child process started successfully, parent exiting

开启端口-27017

firewall-cmd --state

#添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

#重新载入
firewall-cmd --reload

 1、进行初始化  

usr/local/data/mongodb/bin/mongo -port 27017

2、 使用admin库

use admin

三、增加安全认证机制KeyFile 

3.1、在data目录下

cd data

openssl rand -base64 745 > /usr/local/data/mongodb/mongodb-keyfile


cd mongodb

chmod 600 /usr/local/data/mongodb/mongodb-keyfile

3.2 修改配置

在mongodb.conf启动配置文件中增加配置项

keyFile=/usr/local/data/mongodb/mongodb-keyfile

3.3 主库配置用户

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

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

#认证用户
db.auth("admin","123456")

db.auth("root","123456")

3.4开启了安全认证就可以开始对每个数据库进行安全认证了,首先给用户创建一个数据库:

mongoTest:PRIMARY> use test   #创建一个test数据库,然后直接show dbs;是不显示的,要插入一条数据再查看,才能查看test数据库。

switched to db user_test
#插入一条数据
mongoTest:PRIMARY> db.test.insert({item: "ABC1",details: {model: "14Q3",manufacturer: "XYZ Company"},stock: [ { size: "S", qty: 25 }, { size: "M", qty: 50 } ],category: "clothing"})

#创建用户数据库的用户:
mongoTest:PRIMARY> db.createUser({user:"test_user",pwd:"123456",roles:[{role:"readWrite",db:"test"}]});


show dbs;#看看数据库是不是多了一个user_test,如果是,说明成功啦

 3.5 验证用户登录

[root@localhost bin]# ./mongo 192.168.0.183/test -u test_user -p123456
MongoDB shell version v3.4.2
connecting to: mongodb://192.168.0.183/test
MongoDB server version: 3.4.2

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值