2021-02-05

MongoDB用户管理

切换到admin库
use admin
在这里插入图片描述

列出所有用户 db.system.users.find()
在这里插入图片描述

查看当前库下所有用户show users

在这里插入图片描述

删除用户 db.dropUser(‘admin’)
在这里插入图片描述

若要用户生效,需要编辑启动脚本
[root@localhost yum.repos.d]# vi /usr/lib/systemd/system/mongod.service
在OPTIONS=后面增–auth
在这里插入图片描述

重启服务
[root@localhost yum.repos.d]# systemctl restart mongod

use db1use db1
switched to db db1
db.createUser( { user: “test1”, pwd: “123aaa”, roles: [ { role: “readWrite”, db: “db1” }, {role: “read”, db: “db2” } ] } )
在这里插入图片描述

test1用户对db1库读写,对db2库只读。
之所以先use db1,表示用户在 db1 库中创建,就一定要db1库验证身份,即用户的信息跟随随数据库。比如上述 test1虽然有 db2 库的读取权限,但是一定要先在db1库进行身份验证,直接访问会提示验证失败。

MongoDB用户角色

Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限

MongoDB库管理
查看版本:db.version()
在这里插入图片描述

如果库存在就切换,不存在就创建 use userdb
在这里插入图片描述

查看库,此时userdb并没有出现,这是因为该库是空的,还没有任何集合,只需要创建一个集合就能看到了
在这里插入图片描述

创建集合clo1,在当前库下面创建:db.createCollection(‘clo1’)
在这里插入图片描述

删除当前库,要想删除某个库,必须切换到那个库下:db.dropDatabase()
在这里插入图片描述

查看当前库的信息:db.stats()
在这里插入图片描述

查看mongodb服务器的状态db.serverStatus()

MongoDB创建集合
语法:db.createCollection(name,options)
name就是集合的名字,options可选,用来配置集合的参数,参数如下:
capped true/false (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,当它达到其最大大小,会自动覆盖最早的条目。如果指定true,则也需要指定尺寸参数。
autoindexID true/false (可选)如果为true,自动创建索引_id字段的默认值是false。
size (可选)指定最大大小字节封顶集合。如果封顶如果是 true,那么你还需要指定这个字段。单位B
max (可选)指定封顶集合允许在文件的最大数量。

创建一个集合:db.createCollection(“mycol”, { capped : true, size : 6142800, max : 10000 }
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值