MongoDB集群的用户创建(Windows)

添加超级管理员

  1. 上面的复制集搭建方式为不需要认证和授权,但是在实际生产环境中,出于安全的考虑,会为复制集设置用户名和密码和账户,下面是复制集用户的相关操作和认证授权,复制集以不需要认证的方式启动后, 使用mongo.exe  -port **   连接到primary节点,然后执行下面的命令,此时就为该复制集创建了超级管理员。

use admin;

db.createUser( {

    user: "root",

    pwd: "root",

    roles: [ { role: "root", db: "admin" } ]

  });

 

以认证的方式重启复制集

  1. 下面以认证的方式重启 mongodb复制集,重启命令只需在原来的启动命令上加—keyFile 参数  用于指定密钥的文件位置,三个节点的重启命令分别为:
  1. 节点一:mongod.exe --replSet mongodbcluster --keyFile d:\mongodbcluster\data\key\key1.txt  --port 28010 --dbpath d:\mongodbcluster\data\data\r1 --logpath=d:\mongodbcluster\data\log\log1.log –logappend
  2. 节点二:mongod.exe --replSet mongodbcluster --keyFile d:\mongodbcluster\data\key\key2.txt --port 28011 --dbpath d:\mongodbcluster\data\data\r2 --logpath=d:\mongodbcluster\data\log\log2.log –logappend
  3. 节点三:mongod.exe --replSet mongodbcluster --keyFile d:\mongodbcluster\data\key\key3.txt --port 28012 --dbpath d:\mongodbcluster\data\data\r3 --logpath=d:\mongodbcluster\data\log\log3.log –logappend
  1. 重启成功后,使用mongo.exe 命令进行登录。登录成功后,若想操作数据库,则会报认证未通过的错误,此时需要我们进行认证操作。

  1. 认证操作,先切换到admin数据库,然后进行认证的命令操作

use admin;

db.auth(“root”,”root”);   //括号分别为用户名和密码

 

当返回1 说明认证成功,若出现下面的提示,说明认证失败:

为个人数据库添加用户

  1. 超级管理员认证成功后,就可以为我们自己的数据库创建用户了,例如 我要为我的SleepMult创建用户,则使用下面的命令:

use SleepMult;

db.createUser(

  {

    user: "cyb",

    pwd: "cyb13910828743",

    roles: [ { role: "readWrite", db: "SleepMult"} ]

  }

);

role 有几种角色,说明如下:

  1. readWrite: 该用户有读和写的权限
  2. read:该用户只能进行读的操作
  3. write:该用户只有写的操作

  1. 出现上面的提示信息添加成功。 也可以使用show users 命令来查看当前库的用户,至此,为个人的数据库添加用户操作完毕。

 

猜你喜欢

转载自blog.csdn.net/Peter_Changyb/article/details/81213827
今日推荐