从 Windows 和 Mac 客户端 Mac 访问 MongoDB

Accessing MongoDB from Windows & Mac Client Machines

我在 Linux Red Hat 服务器上安装了 MongoDB 3.2。

我开始访问它并查看 mongo Shell 说明。

对于 Windows 机器,说明要我进入命令提示符并将 dirs 更改为安装目录。问题是,MongoDB 安装在我的网络服务器上,而不是我的本地 windows 机器上。

问题:Mongo Shell 对我适用吗?如何从我的 Windows 和 Mac 机器开始使用、连接和访问 Mongo?

[注意:我是一名传统的 MySQL / phpMyAdmin 开发人员,希望升级到 MongoDB]

修正:

(1) 在@AlexBlex 的帮助下,我正在尝试从 windows 客户端上的 Robomongo 连接到服务器上的 MongoDB。尝试设置连接时出现以下错误。我只用我的服务器 ip 和 http://{我的服务器 ip} 尝试了地址。都没有用。查看错误的屏幕截图

(2) 这是我当前 mongod.conf 文件中的内容:

#port=27017
bind_ip=127.0.0.1

(3) 这是我的连接设置的样子。奇怪的是,下面@AlexBlex 的解决方案在他的 Mac 版本上显示了一个 SSH 选项卡。我刚刚安装的 Windows 和 Mac 版本缺少该选项卡。

如果您在本地计算机上安装 MongoDB,您可以使用如下所示的 Mongo shell 连接到您的远程服务器

mongo  yourserver:27017/database

您必须配置 Mongo 服务器以允许远程连接。为了实现这一点,您需要在 /etc/mongodb.conf 文件中包含以下行。您需要将 10.0.0.2 替换为您的客户端计算机的 IP 地址。

bind_ip = 127.0.0.1,10.0.0.2

您需要 ssh 安装 mongodb 的服务器,或者在本地计算机上安装 mongodb。

为了让 robomongo 连接到远程主机,您需要通过 ssh 连接到服务器,并检查它是否在外部接口上侦听:

lsof -i | grep 27017

如果只绑定localhost,需要在/etc/mongodb.conf中编辑一行bind_ip,然后重启服务。

我建议仅出于安全原因让它在本地接口上监听,并使用 ssh 隧道连接:

我找到了答案。 @ShahNewasKhan 很棒。参见 How to connect Robomongo to MongoDB

您只需通过 SSH 连接到服务器并编辑 mongod.conf 文件:

  1. 取消注释 #port=27017port=27017
  2. 评论 bind_ip=127.0.0.1#bind_ip=127.0.0.1
  3. 通过 service mongod restart
  4. 重新启动 mongodb

然后通过地址字段中的服务器 ip 和端口字段中的 27017 创建一个 mongo 连接

希望这对像我这样的 mongo 新手和初创企业有所帮助 :) 祝你好运。

现在我只需要弄清楚如何确保它的安全。我担心的是任何知道我的服务器 ip 的人都可以侵入我的 MongoDB