mongodb 新建用户 -摘自网络

随着版本的更新,对在使用mongodb的业务也进行了版本升级,但是在drop掉一个数据库时,问题来了,原来的用户随着删除库也被删除掉,但是再想通过原来的语法db.addUser()添加,一直报错,提示用db.createUser()命令创建。

首先如果在除admin库之外的用户通过db.addUser()添加是不会成功的。
我删除了原admin库的root用户,通过db.createUser()创建:

db.createUser(
{
user:"root",
pwd:"root",
roles:
[
{
role:"userAdminAnyDatabase",
db:"admin"
}
]
}
);

切换到其他库删除原用户

use test

db.system.users.remove({user:"test"});

或者

db.dropUser("test")

新建用户

db.addUser('test','test123');

使用以上旧的命令会有warning,不过还是可以创建成功

WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser’ instead

建议还是通过以下命令创建

db.createUser(
{
user:"test",
pwd:"test123",
roles:
[
{
role:"dbOwner",
db:"test"
}
]
}
);

请参考:db.createUser() 语法
现在2.6有了role的概念,有自带的role,也可以根据需要新建role,赋予一个用户,这里不再详解,查看有哪些role,使用show roles即可
原文地址:https://www.cnblogs.com/haoliansheng/p/4417915.html