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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]:/data/bigdata/software/mongodb/
 scp /data/bigdata/software/mongodb/keyfile [email protected]:/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 副本集 开启认证模式的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu16.04搭建LAMP开发环境

ubuntu 16.04 nfs服务的搭建

ubuntu 16.04 nfs服务的搭建

Ubuntu 16.04 以太坊开发环境搭建

ubuntu16.04下搭建织梦源码网站步骤

ubuntu16.04搭建docker私有仓库