您的位置:首页 > 数据库 > Mongodb

MongoDB 修改认证机制

2017-12-08 17:06 148 查看
MongoDB 3.0 以后密码认证机制有两种:SCRAM-SHA-1(默认),MONGODB-CR(spring情况下用)。

MongoDB安装:

完成后:注意:使用有两种:有密码,无密码(默认)。

1. 创建配置文件

进入根目录下:mongod.conf

dbpath=D:\Program Files\MongoDB\Server\3.4\data #数据库路径
logpath=D:\Program Files\MongoDB\Server\3.4\logs\mongo.log #日志输出文件路径
logappend=true #错误日志采用追加模式
journal=true #启用日志文件,默认启用
quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port=27017 #端口号 默认为27017
2. 无认证启动

进入bin目录下:命令执行:mongod --config "D:\Program Files\MongoDB\Server\3.4\mongod.conf

创建用户:因为是spring用,所以创建认证机制为MONGODB-CR

a. 修改认证机制

在bin目录下命令执行:mongo.进入后:

先查看:

db.system.version.findOne({"_id" : "authSchema"})
5:SCRAM-SHA-1
3:MONGODB-CR


再修改机制

> use admin
switched to db admin
>  var schema = db.system.version.findOne({"_id" : "authSchema"})
> schema.currentVersion = 3
3
> db.system.version.save(schema)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })


b. 创建用户

db.createUser(
{
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
授权
db.auth('admin','123456')


注解:查看:db.system.users.find()  删除:db.dropUser("myuser") 

3. 认证状态下启动:mongod --config "D:\Program Files\MongoDB\Server\3.4\mongod.conf -auth
完成操作。

4. 登陆:mongo admin -u admin -p 123456

备注:可以加入系统服务中自动启动。可以在配置文件中加入auth=true.则为认证状态。

创建用户:

常用到的角色介绍:

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

1.在数据库安装成功的基础上连接上客户端输入如下指令:

 use admin

 db.createUser(

   {

     user: "root",

     pwd: "root",

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

   }

 )

注意:创建超级管理员成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: