2015-11-08 57 views
0

我用Mongolab(MongoDB托管服务)托管我的数据库。他们最近(大约一个月前)将MongoDB进程更新为3.0。从那以后,每当我尝试使用mongoshell登陆,出现这种情况:Mongoshell在登录尝试时给出错误代码18 MongoLab

mongo ds.mongolab.com:12345/mydb123 -u user123 -p pass123 
MongoDB shell version: 2.6.11 
connecting to: ds.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.6.11版本。根据MongoDB文档,这应该与3.x兼容。

  2. 我试着将其他参数传递给认证字符串(如--authenticationDatabase admin)。没有工作。

  3. 通过Mongolab站点上的GUI界面检查我的凭证(即usern + pass)和设置。没有明显的问题。

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

+1

您是否尝试过使用mongo shell的3.0.x版本? MongoLab的3.0数据库使用SCRAM-SHA-1认证,而2.6.x mongo shell不支持该认证。 – pneumee

+0

我真的很尴尬...这样做!因为Fedora的包管理器(yum)似乎没有atm,所以我不得不跳过很多圈才能获得3.0.x。我最终从https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.0/x86_64/RPMS/下载了所有软件包,然后执行yum --nogpgcheck localinstall ./Downloads/mongodb-org - *。谢谢!! – theproject

回答

1

这个问题是因为pomenes建议。我只是不得不更新到3.0.x。我将记录下Fedora 20为未来几代人所做的工作:

因为Fedora的包管理器(yum)似乎没有atm,所以我不得不跳过很多的环节以获得3.0.x。我结束了从repo.mongodb.org/yum/redhat/6/mongodb-org/3.0/x86_64/RPMS下载所有的软件包,然后做

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

这就是全部!

相关问题