mysql的用户和角色管理,MongoDB数据库用户角色和权限管理详解

查看数据库

使用终端命令行输入 mongo 登陆 mongodb 之后切换到 admin 库,并认证后可查看所有数据库,操作如下所示:

[root@renwole.com ~]# mongo

MongoDB shell version v4.4.0

connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb

Implicit session: session { "id" : UUID("1ea1-4343-9523-167a101973a9") }

MongoDB server version: 4.4.0

> use admin

> db.auth("admin","InaM6Aip#2JBlWwY")

1

> show dbs

admin 0.000GB

config 0.000GB

local 0.000GB

说明:1 表示认证成功,0 表示认证失败,认证失败后查看数据库无任何返回。

创建数据库及用户

创建一个 renwoledb 数据库并授权 renwole 用户为该库的 dbOwner 角色。另外、MongoDB数据库实行注册制,数据库内无内容时,无法查看到新建的数据库,操作如下:

> use renwoledb

> db.createUser(

{

user:"renwole",

pwd:"renwolecom",

roles:[{role:"dbOwner",db:"renwoledb"}]

}

)

此时已完成了一库一账号的创建。如果创建用户提示无权限,请先使用超级管理员登录之后切换到对应的数据库再创建即可,如下所示:

MongoDB shell version v4.4.0

connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb

Implicit session: session { "id" : UUID("7be9-4c30-ad2e-2a5b58127ab7") }

MongoDB server version: 4.4.0

> use renwoledb

switched to db renwoledb

> db.createUser(

{

user:"renwole",

pwd:"renwolecom",

roles:[{role:"dbOwner",db:"renwoledb"}]

}

)

uncaught exception: Error: couldn't add user: command createUser requires authentication :

_getErrorWithCode@src/mongo/shell/utils.js:25:13

DB.prototype.createUser@src/mongo/shell/db.js:1343:11

@(shell):1:1

> use admin

switched to db admin

> db.auth("root","renwolecompassword")

1

> use renwoledb

switched to db renwoledb

> db.createUser(

{

user:"renwole",

pwd:"renwolecom",

roles:[{role:"dbOwner",db:"renwoledb"}]

}

)

Successfully added user: {

"user" : "renwole",

"roles" : [

{

"role" : "dbOwner",

"db" : "renwoledb"

}

]

}

添加 root 用户,拥有整个 MongoDB 最高权限,建议取消认证模式后,先进入到 admin 库,再添加 root 用户权限

> use admin

> db.createUser({user: "root",pwd: "renwolecom",roles: [ { role: "root", db: "admin" } ]})

密码修改

修改某个账号的数据库密码需要进入到该数据库,认证后再修改,否则报错,操作如下:

> use renwoledb

> db.changeUserPassword("renwole", "renwolecompwdnew")

> db.auth("renwole","renwolecompwdnew")

1

删除用户及数据库

删除用户(必须切换到admin使用最高权限删除某个用户角色)

> db.system.users.remove({user:"renwole"});

WriteResult({ "nRemoved" : 1 })

删除所有用户(必须具备超级管理权限才能删除)

> db.system.users.remove({})

删除数据库(必须切换到指定的数据库,然后再删除)

> use renwoledb

switched to db renwoledb

> db.dropDatabase()

{ "ok" : 1 }

>

总结

到此这篇关于MongoDB数据库用户角色和权限管理的文章就介绍到这了,更多相关MongoDB用户角色和权限管理内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! ad51e517755f8fd6a7ec83ced4ecfaf3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、实验目的 使学生加深对数据库安全性和完整性的理解。并掌握SQL Server中有关用户角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求   数据库的安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQL Server的用户角色管理,设置和管理数据操作权限。   具体内容如下:   设置SQL Server的安全认证模式(Windows或SQL Server和Windows(S)认证模式)。   登录的管理 创建一个登录用户   数据库用户管理 登陆用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。   角色管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。   在学生表中定义主键、外键约束。   在课程表的“课程名”字段上定义唯一约束。   在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。   定义规则,并绑定到读者表的“性别”字段,使之只能取“男、女”值。   在学生表中增加出生日期字段。定义缺省,并绑定到借阅表的“借阅日期”上,使之只能取当前日期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值