美文网首页
MongoDB Compass创建使用账号以及为数据库创建使用账

MongoDB Compass创建使用账号以及为数据库创建使用账

作者: iOS丶Michelle | 来源:发表于2021-01-04 21:17 被阅读0次
    说明

    MongoDB Compass 可视化工具,这个可视化软件其实就是显示了你这个admin数据库下所有可以登录MongoDB Compass的账号,如果你用blog数据库的账号来登录是不会成功的

    blog数据库说明

    这个blog数据库是node.js服务器搭建,使用集合来创建的,这里不说代码的实现,意思就是执行你写的app.js这里就会有这个数据库

    MongoDB Compass创建使用账号啥意思呢

    首先切换到admin这个数据库

    use admin
    

    在命令行登录超级管理员账号,不登录就不能查看所有用户的信息,也不能创建

    db.auth('root','123456')
    

    在admin这个数据库创建一个账号,只能对blog数据库有读写权限

    db.createUser({user:'mg2',pwd:'123456',roles:[{role:'readWrite',db:'blog'}]})
    

    验证一下是否创建成功,查看所有用户的信息

    show users
    

    如下图所示,有两个账号,一个root,一个mg2,他们的权限是不同的,root拥有所有的权限,而mg2呢只能对这个blog数据库有读写的权限,不能删除

    image.png
    来到MongoDB Compass 可视化工具登录root这个账号看一下
    image.png

    点击CONNECT

    image.png
    再来看一下mg2登录是啥样子
    image.png
    点击CONNECT
    image.png
    这就是分配账号来管理数据库,你这个mg2账号是不能对blog数据库进行删除的
    image.png
    为数据库创建使用账号啥意思呢

    如下图所示,先切换到admin数据库,然后登录超级管理员,然后显示所有数据库,然后切换到blog数据库,然后显示blog数据库所有的账号信息,意思就是数据库分配账号给别人使用
    在命令行创建

    db.createUser({user:'mg3',pwd:'123456',roles:[{role:'readWrite',db:'blog'}]})
    

    在命令行删除

    db.dropUser('mg3')
    
    image.png
    在代码里
    image.png
    那我用root,用mg2可不可以呢?当然是不行的,因为它们只能连接到admin这个数据库
    image.png
    区别

    为啥搞这么麻烦呢?之前没有创建root和mg2的时候MongoDB Compass直接就可以双击打开然后CONNECT,现在的话双击打开MongoDB Compass还要进行CONNECT验证,假设一下多人一起开发,为了防止别人删除数据库,那么你就很有必要为其创建普通账号来使用,这个普通账号只能使用这个blog数据库并且不可删除,然后项目里要连接到这个blog数据库,blog数据库必须分配账号来给项目链接使用。

    相关文章

      网友评论

          本文标题:MongoDB Compass创建使用账号以及为数据库创建使用账

          本文链接:https://www.haomeiwen.com/subject/lbxboktx.html