创建新用户时Mongodb获取错误
我刚刚在Ubuntu服务器上安装了一个新的mongodb,当我尝试添加用户时,我遇到了一个错误创建新用户时Mongodb获取错误,mongodb,mongodb-query,Mongodb,Mongodb Query,我刚刚在Ubuntu服务器上安装了一个新的mongodb,当我尝试添加用户时,我遇到了一个错误 db.createUser( { user: "admin", pwd: "ADYkdfd332@@33", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) 2018-07-03T13:29:41.556+0530 E QUERY [thread1] Error: couldn't ad
db.createUser(
{
user: "admin",
pwd: "ADYkdfd332@@33",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
2018-07-03T13:29:41.556+0530 E QUERY [thread1] Error: couldn't add user: Use of SCRAM-SHA-256 requires undigested passwords :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.createUser@src/mongo/shell/db.js:1437:15
@(shell):1:1
请参阅SCRAM-SHA-256密码创建和摘要或未消化
db.createUser(
{
用户:“管理员”,
pwd:“ADYKD332@@33”,
角色:[{role:“userAdminAnyDatabase”,db:“admin”}],
密码消化器“
}
)
如果使用,则必须设置参数密码摘要器
db.createUser(
{
user: "admin",
pwd: "ADYkdfd332@@33",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
passwordDigestor: "<server|client>"
}
)
db.createUser(
{
用户:“管理员”,
pwd:“ADYKD332@@33”,
角色:[{role:“userAdminAnyDatabase”,db:“admin”}],
密码消化器“
}
)
这对我很有用:
db.createUser({
user:"test1",
pwd:"test1",
roles:[
{
role:"readWrite",
db:"u8"
}
],
mechanisms:[
"SCRAM-SHA-1"
]
})
在Mongo Shell中使用以下命令:
use admin
db.createUser({
user:"admin",
pwd:"abc123",
roles:[{role:"userAdminAnyDatabase",db:"admin"}],
passwordDigestor:"server"
})
此外,您可以参考我正在使用Ubuntu为linux运行windows子系统,并收到此错误。有时会出现一个问题,即windows在退出时似乎无法正确关闭
mongod
,因此您需要将Ctrl+Shift+Esc
放入任务管理器并手动关闭它
事实上,每当mongo似乎在做任何不寻常的事情时,这似乎就是问题所在
然后运行mongod
。在另一个终端中,再次尝试添加您的用户
希望这对某人有所帮助。只有在远程访问时才会出现此错误
use "database name"
db.createUser(
{
user: "username",
pwd: "password",
roles: [ { role: "dbOwner", db: "database name" } ],
mechanisms:[
"SCRAM-SHA-1"
]
}
)
如果passwordDigestor
是客户端,则机制
与SCRAM-SHA-256
不兼容,只能使用SCRAM-SHA-1
use admin
db.createUser(
{
user: "username",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
mechanisms: [ "SCRAM-SHA-1" ],
passwordDigestor: "client"
}
)
如果passwordDigestor
是服务器,则可以使用机制
,即SCRAM-SHA-1
和SCRAM-SHA-256
,或者即使您根本没有指定它也可以工作
use admin
db.createUser(
{
user: "username",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
passwordDigestor: "server"
}
)
passwordDigestor是正确的选项,而不是digestPasswordmongo 4.0.7:错误:“passwordDigestor”必须是“服务器”或“客户端”,得到:“true”:请解释您的答案好吗?为什么要“使用“数据库名称”?登录时这将不起作用?
use admin
db.createUser(
{
user: "username",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
passwordDigestor: "server"
}
)