2016年如何访问 Meteor 生产数据库

4
似乎这个线程中的答案(Accessing Meteor production database)在2016年想要访问Meteor生产数据库时不再起作用。我想使用以下命令访问Meteor生产数据库blah.meteor.com:

meteor mongo blah.meteor.com

但我得到的是:

connecting to: sg-mother1-6243.servers.mongodirector.com:27017/blah_meteor_com 2016-01-18T15:21:49.884+0200 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at src/mongo/shell/db.js:1210 exception: login failed

然后我尝试了以下命令:

meteor mongo --url blah.meteor.com

我获得了用户名光标。我输入我的Meteor网站用户名并按回车键,然后获得密码光标。我输入上述用户名的密码并按回车键。我被呈现以下URL:

mongodb://client-2ee8c14d:c1546ca8-4e7e-5883-0214-150b309fb4fb@SG-mother1-6242.servers.mongodirector.com:27017/blah_meteor_com

然后每次重新输入:

meteor mongo --url blah.meteor.com

我都被认为已经登录,并且只会呈现类似于上面呈现的URL。我阅读了“meteor mongo命令”文档,输入以下内容:

meteor mongo --help

在文档中,我读到以下行:

Instead of opening a shell, specifying --url (-U) will return a URL suitable for an external program to connect to the database. For remote databases on deployed applications, the URL is valid for one minute.

为了理解这句话的意思,我回到了我之前提到的线程(stackoverflow.com/questions/11801278/accessing-meteor-production-database),并读到了以下内容:

"所以它的意思是,通过使用--url选项运行命令提供的url是用于连接到数据库的某个外部应用程序,即其他应用程序而不是Meteor。"

我不知道除了我2015年使用的方法(

meteor mongo blah.meteor.com

)之外,还有哪些应用程序可以帮助我连接到Meteor生产数据库。我看到有人说我可以使用mongo shell,但我不知道如何打开它,也不知道当它与Meteor一起安装时的mongo安装目录。我正在使用Linux(Fedora)操作系统。

我如何在2016年访问Meteor的生产数据库?是否有升级使我不能像2015年一样轻松访问Meteor的生产数据库?

2个回答

4
您正在尝试连接到版本为3.0的数据库,而您的meteor mongo命令仍在使用mongo 2.6.7版本。请尝试以下解决方法:
  • 直接在您的计算机上安装Mongo(3.x)版本。
  • 然后运行此命令(在安装了sed的osx、linux和windows系统上应该都适用):
    mongo `meteor mongo --url XXX.meteor.com | sed 's/mongodb:\/\//-u /' | sed 's/:/ -p /' | sed 's/@/ /'`
来源:https://forums.meteor.com/t/meteor-mongo-xxx-meteor-com-giving-exception-login-failed-workaround/15289

谢谢,Ser。我会尝试并回复您的。 - yusha uzumo
1
谢谢Ser。我尝试了一下,没有使用sed部分也能正常工作。 - yusha uzumo

0

由于Meteor停止支持使用.meteor域名,每个开发者都需要自己获取托管,我找到了一种使用mup或mupx访问远程数据库的方法。我在这篇文章中写了它:https://dev59.com/4GAg5IYBdhLWcg3wQ5Il#37439315

我希望这能帮助未来的人们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接