上一篇文档讲述的是如何搭建mongodb副本集(http://www.linuxdiyf.com/linux/30096.html)。
这一篇讲述启用auth
一、为了方便启动,我们在Mongodb目录下新建conf目录,用于保存mongodb的配置文件
#进入mongod目录
cd mongodb/
#创建conf目录
mkdir conf
#新增mongodb.conf
vim mongodb.conf<br>写入如下内容---------------------------------------:
#日志文件位置
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