资讯专栏INFORMATION COLUMN

MongoDB ( 五 )高级_管理:用户的创建、删除与修改

linkFly / 3375人阅读

摘要:安装好时,它为我们默认开了一个最高管理权限方便我们管理数据库,我们可以用链接数据库,就是这个原理。这节课我们就学习一下的用户管理。超级账号,超级权限查找用户信息删除用户建权如果正确返回,如果错误返回。。

安装好MongoDB时,它为我们默认开了一个最高管理权限方便我们管理数据库,我们可以用mongo链接数据库,就是这个原理。但在实际开发中并一般不能使用这个用户,因为大家都知道和最高权限的原因,安全性和可靠性都不适合,所以要对MongoDB的用户进行管理。这节课我们就学习一下MongoDB的用户管理。
创建用户
> db.createUser({
    user:"zjj",
    pwd:"123456",
    customData:{
        name:"zjj",
        email:"111111@126.com",
        age:18,
    },
    roles:[
        {
            role:"readWrite",
            db:"company"
        },
        "read"
        // 对其他数据库有只读权限,对company是读写权限
    ]
})

内置角色:

数据库用户角色:read、readWrite;

数据库管理角色:dbAdmin、dbOwner、userAdmin;

集群管理角色:clusterAdmin、clusterManager、4. clusterMonitor、hostManage;

备份恢复角色:backup、restore;

所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

超级用户角色:root

内部角色:__system

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

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

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

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

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

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

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

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

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

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

查找用户信息
> db.system.users.find()
// 删除用户
db.system.users.remove({user:"jspang"})

建权

// 
> db.auth("jspang","123456")
1
>如果正确返回1,如果错误返回0。(Error:Authentication failed。)

登陆

//
mongo -u jspang -p 123456 127.0.0.1:27017/admin 

看了上面的知识点,我们来亲自动手操作一下吧

test1
// 我们开始是使用下面的语句来进行开机的
$ mongod --dbpath d:mongodbdata
// 另一个cmd中连接数据库
$ mongo
>
// 假设我们已经有了company数据库了
> use admin
> db.createUser({
    user:"zjj",
    pwd:"123456",
    customData:{
        name:"zjj",
        email:"111111@126.com",
        age:18,
    },
    roles:[
        {
            role:"readWrite",
            db:"company"
        },
        "read"
    ]
})


> db.system.users.find()


// 用户创建完毕之后,关闭一下数据库
> db.shupdownServer();

// 这次我们以权限的方式开机

> mongod --dbpath d:mongodbdata --auth

> mongo
> use admin
> db.auth("zjj":"123456");
> 1

// 然后ctrl +c 重新连接一次
> mongo -u zjj -p 123456 127.0.0.1:27017/company
> 

// 没毛病

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19239.html

相关文章

  • mongoDB安装操作

    摘要:一下安装数据库进入官网,选择相应的版本下载,安装时默认勾选安装服务和修改一些数据库配置,如已有数据库连接工具,可取消默认勾选的安装。 一、Win下安装数据库 进入mongo官网,选择相应的msi版本下载,安装时默认勾选安装MongoD服务和修改一些数据库配置,如已有数据库连接工具Robo 3T,可取消默认勾选的compass安装。 若启动服务报mp错误,可修改binmongod.cfg...

    zorpan 评论0 收藏0
  • MongoDB高级_索引

    摘要:插入两条数据建立全文索引需要注意的是这里使用关键词来代表全文索引,我们在这里就不建立数据模型了。全文索引查找表示要在全文索引中查东西。全文索引在工作还是经常使用的,比如博客文章的搜索,长文件的关键词搜索,这些都需要使用全文索引来进行。 索引 在认识索引的之前我们先建立一张表,并往其中插入200万条数据。 // test.js //生成随机数 function GetRandomNum(...

    focusj 评论0 收藏0
  • MongoDB安装启动(Mac 版)

    摘要:本次讲述安装的当然是免费的社区版。两种安装方法手动安装,需要下载安装包解压编译比较繁琐使用系统的安装,是系统上的包管理工具,类似的。如文章出现有错误,麻烦指出或有相关知识点讨论也十分欢迎 Mac上装MongoDB的官网教程:https://docs.mongodb.com/manu...,英文不错的可以直接看,教程也很清晰。 两种版本 MongoDB有两种版本: 1.(Enterpri...

    keithyau 评论0 收藏0
  • MongoDB 学习

    摘要:旨在为应用提供可扩展的高性能数据存储解决方案。执行命令可以显示当前数据库对象或集合。第二个指定那些列显示和不显示表示不显示表示显示。教程教程想要读取从条记录后条记录,相当于中。当查询时同时使用,无论位置先后最后执行顺序再再。 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据...

    since1986 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<