密码标记无法登录mongo

时间:2018-07-20 06:22:53

标签: mongodb

我创建了一个mongo守护程序。 然后,我做了:

$ mongo --port 27017

> use admin
> db.createUser({
           user: "AzureDiamond",
            pwd: "hunter2",
          roles: [{
               role: "readWrite",
                 db: "test_db1"
          }]
   })
>^D

然后,我尝试使用新帐户(exactly as in section 7 of Mongo's utorial)登录Mongo:

$ mongo --port 27017 -u "AzureDiamond" -p "hunter2" --authenticationDatabase "admin"

这是一个很奇怪的部分。它仍然提示我输入密码,然后将其附加到我连接到的数据库路径:

Enter password:
connecting to: 127.0.0.1:27017/hunter2
>

我做错了什么?在命令行中提供密码但没有在屏幕上显示密码的情况下如何连接到Mongo?

5 个答案:

答案 0 :(得分:0)

我认为这只是您在问题中指出的错字,请您重试如下所示的命令:

  

您只是错过了用户名中的 d

$ mongo --port 27017 -u "AzureDiamond" -p "hunter2" --authenticationDatabase "admin"

如果这行不通,是否可以按照 here 提供的文档尝试登录Mongo数据库。

希望这会有所帮助!

答案 1 :(得分:0)

这将解决您的问题:

mongo admin -u {username} -p '{password}'

参考:command line authentication of mongo fails

答案 2 :(得分:0)

您尝试使用connection string URI吗?

例如mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

所以就您而言, mongo mongodb://AzureDiamond:hunter2@localhost:27017/test_db1?authSource=admin

答案 3 :(得分:0)

最简单,最安全的方法:


您无需指定端口,可以使用以下命令轻松完成此操作:

mongo admin -u ""AzureDiamond"" -p

现在,它将提示您输入密码,输入密码,然后瞧!您已登录!

这是最安全的方法,因为其他人也看不到您的密码。

希望这对您有用!让我知道这是否行不通!

答案 4 :(得分:0)

这是3.2.11中的错误。

https://jira.mongodb.org/browse/SERVER-32421

  

感谢您的举报。经过测试,我能够重现此问题并正在调查原因。但是,作为一种变通办法,如果您没有在-p标志和密码之间留一个空格,它将按预期方式登录

所以尝试-u UserName -pPassword