密码标志无法登录mongo


我创建了一个mongo守护进程。然后,我做了:
$ mongo --port 27017
> use admin
> db.createUser({
user: "AzureDiamond",
pwd: "hunter2",
roles: [{
role: "readWrite",
db: "test_db1"
}]
})
>^D

然后我尝试使用新帐户登录Mongo(与Mongo的教程第7节完全相同(:

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

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

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

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

我认为这只是你在问题中指出的一个拼写错误,你能重试如下所示的命令吗:

您刚刚错过了用户名中的d

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

如果这不起作用,你能试着按照这里提供的文档登录Mongo数据库吗。

希望这能有所帮助!

这将解决您的问题:

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

参考:mongo的命令行身份验证失败

您是否尝试使用连接字符串URI?

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

所以在你的情况下,mongo mongodb://AzureDiamond:hunter2@localhost:27017/test_db1?authSource=admin

最简单、最安全的方式:


您不需要指定端口,可以使用轻松完成

mongo admin -u ""AzureDiamond"" -p

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

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

希望这对你有用!如果这不起作用,请告诉我

这是3.2.11中的一个错误。

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

感谢您的报告。经过一些测试,我能够重现这个问题,并正在调查原因。然而,作为一种变通方法,如果你不在-p标志和密码之间留一个空格,它就会按预期的登录

所以尝试-u UserName -pPassword

最新更新