首页 > 解决方案 > 启用用户访问控制后 MongoDB 身份验证失败

问题描述

我在 windows Server 2016 标准中使用最新的 MongoDB,试图设置身份验证。这是我要遵循的步骤。

# mongod --port 27017 --dbpath /data/db1
# mongo --port 27017
# use admin



     db.createUser(
          {
            user: "myUserAdmin",
            pwd: "abc123",
            roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
          }
        )

# mongod --auth --port 27017 --dbpath /data/db1

# use admin

# db.auth("myUserAdmin", "abc123" )

after all I got 

    C:\Program Files\MongoDB\Server\4.0\bin>mongo
    MongoDB shell version v4.0.3
    connecting to: mongodb://127.0.0.1:27017
    Implicit session: session { "id" : UUID("63f22acf-9f5b-4949-b804-82d141ba2761") }
    MongoDB server version: 4.0.3
    > use admin
    switched to db admin
    > db.auth("myUserAdmin", "abc123" )
    Error: Authentication failed.
    0
    >

请帮忙..我很新

标签: mongodb

解决方案


创建用户后,您需要重新启动 mongod 和 mongo。使用以下命令重新启动 mongod

mongod --auth --port 27017 --dbpath /data/db1

现在打开命令提示符并使用以下命令连接 mongo

mongo --port 27017 -u user_name -p password --authenticationDatabase database_name

现在使用以下命令

use admin
db.auth("myUserAdmin", "abc123" )

也许它会帮助你。


推荐阅读