mongodb上的身份验证失败
我在mongo db上创建了一个用户,这是comnand和输出mongodb上的身份验证失败,mongodb,Mongodb,我在mongo db上创建了一个用户,这是comnand和输出 db.createUser({user:"appuser",pwd:"12345",roles: [ { role: "readWrite", db: "mydb" }]}) Successfully added user: { "user" : "appuser", "roles&quo
db.createUser({user:"appuser",pwd:"12345",roles: [ { role: "readWrite", db: "mydb" }]})
Successfully added user: {
"user" : "appuser",
"roles" : [
{
"role" : "readWrite",
"db" : "mydb"
}
]
}
但是当我试图用这个命令进入时
mongo --port 27017 -u "appuser" --authenticationDatabase "mydb" -p
我得到这个错误
MongoDB shell version v4.4.4
Enter password:
connecting to: mongodb://127.0.0.1:27017/?authSource=mydb&compressors=disabled&gssapiServiceName=mongodb
Error: Authentication failed. :
connect@src/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1
我创建了一个root用户,并在/etc/mongod.conf
security:
authorization: enabled
有什么问题吗?来自mongodb的官方文件 创建用户(在本例中为test)的数据库是该用户的身份验证数据库 我们创建用户的数据库将在命令中用于连接MongoDB。在创建用户之前,我们需要运行
使用[nameofdatabase]
来选择数据库
因此,如果要使用mydb
作为身份验证数据库,则需要运行以下命令:
use mydb;
db.createUser({user:"appuser",pwd:"12345",roles: [ { role: "readWrite", db: "mydb" }]});
然后,您可以使用:
mongo--port 27017-u“appuser”-authenticationDatabase“mydb”-p
在哪个数据库中运行此命令:db.createUser({user:“appuser”,pwd:“12345”,角色:[{role:“readWrite”,db:“mydb”}})
?我没有选择数据库这是否回答了您的问题?