首页 > 代码库 > Ubuntu16.04搭建MongoDB3.4.3 副本集 开启认证模式

Ubuntu16.04搭建MongoDB3.4.3 副本集 开启认证模式

上一篇文档讲述的是如何搭建mongodb副本集

这一篇讲述启用auth

一、为了方便启动,我们在Mongodb目录下新建conf目录,用于保存mongodb的配置文件

#进入mongod目录
cd mongodb/
#创建conf目录
mkdir conf
#新增mongodb.conf
vim mongodb.conf
写入如下内容---------------------------------------:
#日志文件位置
logpath=/data/bigdata/software/mongodb/logs/mongodb.log
#以追加方式写入日志
logappend=true
#端口
port=27017
#数据库文件位置
dbpath=/data/bigdata/software/mongodb/replset/data/
#是否以进程守护方式运行
fork=true
#是否以安装认证方式运行
auth=true
replSet=repset
#keyfile
keyFile=/data/bigdata/software/mongodb/keyfile

需要注意的是如果启用auth=true,那么logpath必须要有,否则会报错!

二、创建好了mongodb.conf后,回到mongodb目录

     

#回到mongodb
cd ..

#接下来就是生成keyfile了
openssl rand -base64 95 > keyfile 

 查看keyfile内容:  

技术分享

然后分发到其他2台服务器去:

 scp /data/bigdata/software/mongodb/keyfile root@BIGDATA-28217:/data/bigdata/software/mongodb/
 scp /data/bigdata/software/mongodb/keyfile root@BIGDATA-28219:/data/bigdata/software/mongodb/

注:这里需要注意keyfile的权限必须相同

命令:chmod 600 keyfile

  三、回到mongo客户端创建用户

 

#使用admin
use admin
#查看role
show roles
#根据我们的需求来创建用户,我这里创建root用户
db.createUser(
...{
...user:"root",
...pwd:"root",
...roles:[{role:"root",db:"admin"}]
...}
)
#执行成功以后关闭数据库
db.shutdowServer()
#如果是直接kill掉的话,再次启动会报错,此时我们只需要去relpset/data/下删除mongodb.lock即可。

 

四、认证方式启动mongodb

 bin/mongod -f conf/mongodb.conf

 

Ubuntu16.04搭建MongoDB3.4.3 副本集 开启认证模式