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 副本集 开启认证模式的主要内容,如果未能解决你的问题,请参考以下文章