我的问题是 - 是否可以在 Mongo 数据库中定义能够删除数据库的用户?最大用户权限是“dbAdmin”,但该权限不允许用户删除数据库,只能删除集合。
我知道“clusterAdmin”有权删除数据库,但不能在常规数据库中定义该角色,只能在管理数据库中定义......
我的问题是 - 是否可以在 Mongo 数据库中定义能够删除数据库的用户?最大用户权限是“dbAdmin”,但该权限不允许用户删除数据库,只能删除集合。
我知道“clusterAdmin”有权删除数据库,但不能在常规数据库中定义该角色,只能在管理数据库中定义......
不,目前无法(在 2.4 版中)创建这样的用户/权限。
特定数据库的权限授予对该数据库中包含的实体的权限,但不授予数据库本身的权限。创建或删除数据库需要集群级别的权限。
参考:http ://docs.mongodb.org/manual/reference/user-privileges/#database-administration-roles
授予您的用户“root”角色,您将能够删除数据库。您不必禁用身份验证即可执行此操作,只要您有管理员帐户即可。
现在删除数据库
虽然Asya 的回答会起作用,但一种快速的方法是从服务器中删除身份验证
mongod.conf
或在没有身份验证的情况下启动服务器。然后转到数据库并删除数据库。使用身份验证重新启动服务器。
可以使用dbOwner 角色
例如:创建用户: