查看数据库
使用终端命令行输入 mongo 登陆 mongodb 之后切换到 admin 库,并认证后可查看所有数据库,操作如下所示:
[root@renwole.com ~]# mongo MongoDB shell version v4.4.0 connecting to: mongodb://127.0.0.1:27017/"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/"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 } >
总结
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“MongoDB数据库用户角色和权限管理详解”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。