• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MongoDB数据库用户角色和权限管理详解

    查看数据库

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

    [root@renwole.com ~]# mongo
    MongoDB shell version v4.4.0
    connecting to: mongodb://127.0.0.1:27017/?compressors=disabledgssapiServiceName=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=disabledgssapiServiceName=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用户角色和权限管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • MongoDB 简单入门教程(安装、基本概念、创建用户)
    • MongoDB 用户管理
    • MongoDB在系统数据库local中无法创建用户的解决办法
    • mongodb基础之用户权限管理实例教程
    • Mac下安装配置mongodb并创建用户的方法
    • Mongodb 3.2.9开启用户权限认证问题的步骤详解
    • MongoDB快速入门笔记(七)MongoDB的用户管理操作
    • MongoDB系列教程(四):设置用户访问权限
    • Windows下MongoDB配置用户权限实例
    • mongodb 添加用户及权限设置详解
    • MongoDB为用户设置访问权限
    • MongoDB 用户相关操作
    上一篇:利用golang驱动操作MongoDB数据库的步骤
    下一篇:分布式文档存储数据库之MongoDB分片集群的问题
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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