伍-MongoDB登陆那些小事

关于MongoDB,刚从3.X换成了4.X,其实已经不是很想懂到底什么回事了,引擎不对啊、常用的工具无法登陆啊一堆问题,不过其实这些都不是很是问题,顶多把数据库删掉重做呗(这是不负责任的)。
重申一次,没什么事千万别直接升级,请先备份

1、关于MongoDB跨版本登陆

服务器端运行4.X的时候,客户端使用3.X是无法登陆的,完事。

2、MongoDB权限的问题

首先,MongoDB有许多权限,以下有说明:

Built-In Roles(内置角色):
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system

引用自 追不上老鼠的猫的博客,不过估计他也是引用其他人的(因为看到网上一堆一样的)。


关键的只是上面加粗的两个权限,其中只赋予dbOwner权限是不能读写的,必须同时赋予readWrite权限。

P.S. 常用命令

以下这些也是抄自上述的博客:

  1. 创建用户
> use admin
switched to db admin
> db.createUser(
...   {
...     user: "dba",
...     pwd: "dba",
...     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
...   }
... )
Successfully added user: {
    "user" : "dba",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

不行了,我还是引用百度

  1. 删除用户
db.dropUser('usertest')
  1. 修改权限
db.updateUser("usertest",{roles:[ {role:"read",db:"testDB"} ]})
#注:updateuser它是完全替换之前的值,如果要新增或添加roles而不是代替它 
#则使用方法: db.grantRolesToUser() 和 db.revokeRolesFromUser()
------------------------------------------------------------------------------------------
db.grantRolesToUser("usertest", [{role:"readWrite", db:"testDB"},{role:"read", db:"testDB"}])   # 修改权限
db.revokeRolesFromUser("usertest",[{role:"read", db:"testDB"}])   # 删除权限:
P.S… 我还是去冲凉吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值