Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb上的身份验证失败_Mongodb - Fatal编程技术网

mongodb上的身份验证失败

mongodb上的身份验证失败,mongodb,Mongodb,我在mongo db上创建了一个用户,这是comnand和输出 db.createUser({user:"appuser",pwd:"12345",roles: [ { role: "readWrite", db: "mydb" }]}) Successfully added user: { "user" : "appuser", "roles&quo

我在mongo db上创建了一个用户,这是comnand和输出

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”}})
?我没有选择数据库这是否回答了您的问题?