版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/welcome66/article/details/84916061
在部署mongodb集群的时候,有些安全性要求比较高的地方,需要启用密码验证的方式,登录mongo集群。
下面的方式是在mongodb 3.6版本的基础上,3个节点的集群里设置的。
1)进入mongodb的data目录,创建keyfile目录
2)使用openssl生成key文件
3)修改key文件权限为400
4)复制该key文件到每个mongodb节点对应目录
命令如下:
#cd /home/memdb/mongodb/conf #openssl rand -base64 741 > /home/mongodb/data/mongo-keyfile #chmod 400 ./ mongo-keyfile |
---|
在未启用验证前,创建用户:
1)使用mongo连接mongos端口:
$bin/mongo IP:mongos port
2)切换到admin库,创建用户:
use admin db.createUser( { user: "cluster", pwd: "cluster", roles: [ { role: "clusterAdmin", db: "admin" } ] }); db.createUser( { user: "super", pwd: "super", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }); use test db.createUser( { user: "admin", pwd: "admin", roles: [ { role: "dbOwner", db: "test" } ] } ) |
---|
1) Mongo.conf文件:
security: keyFile: "/home/mongodb/data/mongodb-keyfile" clusterAuthMode: "keyFile" authorization: "enabled" |
---|
config和mongos只增加上面2个属性即可。
上面完成之后,重启整个mongodb集群。
按照原来顺序启动如有错误,启动顺序可改为
1) 先启动所有config组件
2) 再启动所有mongod组件
3) 最后启动mongos组件