3

我的 Linux 服务器上有一个 MongoDB 数据库。我想从另一台服务器访问它。我试图从我的本地计算机与 Robomongo 建立连接。连接成功,但身份验证失败。

如何获取身份验证凭据?或者我应该在 MongoDB 中更改某些内容,然后才能从另一台服务器/PC 访问数据库?

这个数据库是别人建的,不可能问他这个问题。

4

5 回答 5

3

我自己找到了解决方案:

文件 etc/mongod.conf 有一行“bind_ip”。在这一行中,您最初必须添加要访问数据库的 IP 地址。但是,它不起作用!你应该更好地评论这一行。

但是,您现在没有任何身份验证,因此您必须添加身份验证。在这里你有一个关于这个的教程:http: //ghosttx.com/2012/03/how-to-connect-to-a-remote-mongodb-server-with-mongohub-for-mac/

完成后,您必须启用身份验证。您可以通过再次编辑 etc/mongod.conf 并取消注释“Auth = true”行来做到这一点。

现在你可以连接你的 Mongo 数据库了;)

于 2014-09-05T13:06:49.853 回答
2

我通过以下链接向 RoboMongo 添加 ssh 选项对其进行了排序:

http://www.mongovue.com/2011/08/04/mongovue-connection-to-remote-server-over-ssh/

我在 OSX 上并在 VPS 上连接到 Ubuntu 14 / Mongo 2.6.7,当我将我的 ssh 详细信息添加到 Robomongo 时似乎一切正常(我还更改了 mongo 配置以删除 ip_bing 并启用端口 27017)

于 2015-02-26T14:08:53.537 回答
2

如果您不想打扰身份验证和其他东西,只需创建一个 SSH 隧道:

ssh -fN -l username -i .ssh/id_rsa -L 9999:localhost:27017 remote.com

只需连接到 localhost:9999 上的 mongodb,它就会在 remote.com 的服务器上的端口 27017 上建立与 mongodb 的连接。

于 2016-03-18T00:41:02.920 回答
1

使用以下命令运行您的 mongodb 以从其他服务器访问 mongodb

mongod --port 10945 --bind_ip 0.0.0.0
于 2018-11-22T06:25:17.523 回答
0

我也无法将 Robomongo 与 MongoDB 3.0 一起使用(使用 SSH 从 Windows 机器连接到 Linux 机器)。唯一适合我的工具是 MongoChef ( http://3t.io/mongochef/ )。

于 2015-11-13T17:05:43.293 回答