Mongodb,mongoLab,Heroku(登台)和rails:身份验证失败

时间:2016-12-21 10:39:30

标签: ruby-on-rails mongodb heroku mlab

我处理部署在Heroku上的项目,包括生产和暂存版本。当我想在暂存时写入mongo shell,写下这一行:mongo <host/app> -u <username> -p <password>(用&lt;&gt;重新填充我的信息)我有这个错误:

2016-12-21T11:34:43.861+0100 E QUERY    [thread1] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1441:20
@(auth):6:1
@(auth):1:2

exception: login failed

它适用于生产,但不适用于分期。 当我想要一个包含所有信息的mongorestore时,我有这个错误:

Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

用于生产和登台的MongoDB服务器版本是否不同?如果是这样,您可能需要不同版本的客户端工具。最适合主要版本以避免问题。例如,3.0.x服务器至少需要3.0.x客户端工具,3.2.x服务器至少需要3.2.x客户端工具等。

答案 1 :(得分:1)

Check,以确保正确设置了您的用户权限,并尝试传入您的authenticationDatabase mongo <host:port> -u "root" -p "123456" --authenticationDatabase <"admin">

我对使用SASL设置并不熟悉,但是更多详细信息可用here