我创建了一个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?
答案 0 :(得分:0)
我认为这只是您在问题中指出的错字,请您重试如下所示的命令:
您只是错过了用户名中的 d !
$ mongo --port 27017 -u "AzureDiamond" -p "hunter2" --authenticationDatabase "admin"
如果这行不通,是否可以按照 here 提供的文档尝试登录Mongo数据库。
希望这会有所帮助!
答案 1 :(得分:0)
答案 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