我有一个具有常规身份validation设置的MongoDB,因此您需要用户名和密码才能连接到数据库(configuration中的auth=true )。 我正在运行的问题是,我有一些需要连接到该数据库的脚本,然后创build一个新的,复制一些数据,然后在某个时间点删除数据库。 问题是主数据库的用户似乎无法创build一个新的数据库。
我已经通过他们的文档挖掘,但还没有find任何东西。 我想比较我正在寻找给MySQL用户create database和drop database的能力。
这看起来需要几个不同的特权。
我还没有想出你需要创build一个数据库,但是这个权利可能直接从readWriteAnyDatabaseinheritance。
你应该有一个“root”用户(比如在MySQL中)并将其用于pipe理/操作任务:
db.addUser({user: "root", pwd: "123456", roles: [ "userAdminAnyDatabase", "readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin" ]})) // change PW
这个用户将能够做任何事情:
请注意,您还应该添加:
setParameter = enableLocalhostAuthBypass=0
防止本地用户从本地主机连接时出现“root”。
普通用户(非pipe理员)最多应该拥有以下权限:
"read", "readWrite", "dbAdmin"
更多信息可以在这里find: http : //docs.mongodb.org/manual/reference/user-privileges/
编辑:clusterAdmin是创build数据库…