设为首页 收藏本站
查看: 1633|回复: 0

[经验分享] mongodb3.2集群认证登陆

[复制链接]

尚未签到

发表于 2018-10-26 06:02:35 | 显示全部楼层 |阅读模式
  继mongodb3.2复制集和shard集群之后的用户认证登陆。
  1:关于mongos登录权限认证配置
[mongodb@node1 keyfile]$ openssl rand -base64 741 > /data/keyfile/zxl  
[mongodb@node1 keyfile]$ chmod 600 /data/keyfile/zxl
  2:把/data/keyfile/zxl文件拷贝到各个机器/data/keyfile/目录下即可
  切记属主和组以及文件权限600
  3:创建用户
[mongodb@node1 config]$ mongo --port 10005  
MongoDB shell version: 3.2.3
  
connecting to: 127.0.0.1:10005/test
  
mongos> use admin
  
switched to db admin
  
db.createUser(
  
  {
  
    user: "zxl",
  
    pwd: "123",
  
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  
  }
  
)
  
db.createUser( {
  
    user: "zxl",
  
    pwd: "123",
  
    roles: [ { role: "root", db: "admin" } ]
  
});
  
mongos> db.auth('zxl','123')
  
1
  注:userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限,root:只在admin数据库中可用。超级账号,超级权限,其实 创建一个userAdminAnyDatabase角色就可以,然后可以创建N个用户角色。。。
  4:关闭三台机器上的mongod和configsvr以及mongos服务
[mongodb@node1 keyfile]$ netstat -ntpl|grep mongo|awk '{print $NF}'|awk -F'/' '{print $1}'|xargs kill  5:修改三台机器上的shard1.conf、shard2.conf、shard3.conf、configsvr.conf、mongos.conf配置文件中的内容,分别去掉注释内容即可
#security:  
#  keyFile: "/data/keyfile/zxl"
  
#  clusterAuthMode: "keyFile"
  
去掉注释
  
security:
  
  keyFile: "/data/keyfile/zxl"
  
  clusterAuthMode: "keyFile"
  启动三台机器上的shard1、shard2、shard3以及configsvr和mongos节点
[mongodb@node1 ~]$ mongod -f /data/config/shard1.conf  
[mongodb@node1 ~]$ mongod -f /data/config/shard2.conf
  
[mongodb@node1 ~]$ mongod -f /data/config/shard3.conf
  
[mongodb@node1 logs]$ mongod -f /data/config/configsvr.conf
  
[mongodb@node1 logs]$ mongos -f /data/config/mongos.conf
  登录mongos
[mongodb@node1 config]$ mongo --port 10005  
MongoDB shell version: 3.2.3
  
connecting to: 127.0.0.1:10005/test
  
mongos> use admin
  
switched to db admin
  
mongos> db.auth('zxl','123')
  
1
  
mongos> sh.enableSharding("av")//启用shard分片
  
{ "ok" : 1 }
  
mongos> sh.shardCollection("av.xxoo",{name:1})//设置集合的名字以及字段,默认自动建立索引,av库,xxoo集合
  
{ "collectionsharded" : "av.xxoo", "ok" : 1 }
  总结内容如下:
  系统时间和防火墙,切记
  #security.keyFile: 格式与security.authorization相同,功能与--keyFile相同。
  --auth: 在mongod启动项中加入--auth,mongodb启动后,就可以完成授权模块的启用);
  PS:虽然auth模块启用后本机还能否登陆到数据库,但是不具备增删改查的权限了,所以启动auth模块之前就应该创建一个超级用户
  --keyFile : 主要用于分片集群与副本集相互之间的授权使用,在单机情况下只要用到auth,如果是在集群(分片+副本集)环境下,就必须要用到该参数;
  因为之前我就创建了一个userAdminAnyDatabase角色,所以创建一个root角色的账户。如下
[mongodb@node1 config]$ mongo 192.168.75.128:10005/admin -u zxl -p 123 --authenticationDatabase admin  
MongoDB shell version: 3.2.3
  
connecting to: 192.168.75.128:10005/admin
  
mongos> show dbs
  
ad      0.000GB
  
admin   0.000GB
  
config  0.001GB
  
mongos> db.createUser({user: "root",pwd: "123456",roles: [ "root" ]})
  
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
  
mongos> db.auth("root","123456")
  
1
  
mongos>
  
bye
  认证登陆
[mongodb@node1 config]$ mongo 192.168.75.128:10005/admin -u root -p 123456 --authenticationDatabase  
MongoDB shell version: 3.2.3
  
connecting to: 192.168.75.128:10005/admin
  
mongos> show dbs
  
ad      0.000GB
  
admin   0.000GB
  
av      0.000GB
  
config  0.001GB



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-626445-1-1.html 上篇帖子: Java 中 MongoDB 使用指南 下篇帖子: MongoDB报表实例 -- 架构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表