Mongo Shell 在尝试登录时给出错误代码 18 MongoLab

Mongoshell Giving Error Code 18 on Login Attempt MongoLab

我使用 Mongolab(MongoDB 托管服务)托管我的数据库。他们最近(大约一个月前)将 MongoDB 流程更新为 3.0。从那时起,每当我尝试使用 mongoshell 登录时,都会发生这种情况:

mongo ds012345.mongolab.com:12345/mydb123 -u user123 -p pass123
MongoDB shell version: 2.6.11
connecting to: ds012345.mongolab.com:12345/mydb123
2015-11-08T10:00:12.356-0800 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:1292 exception: login failed 

这是我尝试过的方法:

  1. 我首先认为问题出在第一个版本上(我认为这很合理),所以我从我使用的另一个 2.x 版本更新到 2.6.11。根据 MongoDB 文档,这应该与 3.x.

  2. 兼容
  3. 我尝试将其他参数传递给身份验证字符串(如 --authenticationDatabase admin)。没用。

  4. 通过 Mongolab 网站上可用的 GUI 界面检查了我的凭据(即用户名+密码)和设置。没有明显的问题。

请帮忙!我需要使用 shell...

问题正如pneumee所说。

我只需要更新到 3.0.x。我将记录这是如何在 Fedora 20 上为后代完成的:

我不得不经历很多困难才能获得 3.0.x 因为 Fedora 的包管理器 (yum) 似乎没有 atm。我最终从 repo.mongodb.org/yum/redhat/6/mongodb-org/3.0/x86_64/RPMS 下载了所有软件包,然后执行

yum --nogpgcheck localinstall ./mongodb-org-* 

就这些了!