我正在尝试从同一主机连接到这样的mongo,即。 host_addr
mongo host_addr:27030 -u user -p password
我收到以下回复:
MongoDB shell版本v3.4.6
连接到:host_addr:27030
MongoDB服务器版本:3.4.6
2017-11-18T17:44:39.055-0800 E QUERY [thread1]错误:身份验证失败。 :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1461:20
@(AUTH):6:1
@(AUTH):1:2
异常:登录失败
我使用相同的凭据来连接我的python应用程序中的Pymongo并且它可以工作。
可能是什么原因?
答案 0 :(得分:0)
我认为mongo默认尝试连接到测试数据库,而你的用户可能在admin db上。
尝试:
mongo admin host_addr:27030 -u user -p password
答案 1 :(得分:0)
您需要指定要对哪个数据库进行身份验证:
mongo host_addr:27030 -u user -p password --authenticationDatabase <yourDBName>
或强>
mongo host_addr:27030/<yourDBname> -u user -p password
或强>
mongo --host host_addr --port 27030 -u user -p password --authenticationDatabase <yourDBName>
答案 2 :(得分:0)
添加--authenticationDatabase admin
为我工作。这取决于登录用户的定义位置。我的存在于System\admin
数据库中。