从 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
文件:
- 取消注释
#port=27017
到 port=27017
- 评论
bind_ip=127.0.0.1
到 #bind_ip=127.0.0.1
- 通过
service mongod restart
重新启动 mongodb
然后通过地址字段中的服务器 ip 和端口字段中的 27017 创建一个 mongo 连接
希望这对像我这样的 mongo 新手和初创企业有所帮助 :) 祝你好运。
现在我只需要弄清楚如何确保它的安全。我担心的是任何知道我的服务器 ip 的人都可以侵入我的 MongoDB
我在 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
文件:
- 取消注释
#port=27017
到port=27017
- 评论
bind_ip=127.0.0.1
到#bind_ip=127.0.0.1
- 通过
service mongod restart
重新启动 mongodb
然后通过地址字段中的服务器 ip 和端口字段中的 27017 创建一个 mongo 连接
希望这对像我这样的 mongo 新手和初创企业有所帮助 :) 祝你好运。
现在我只需要弄清楚如何确保它的安全。我担心的是任何知道我的服务器 ip 的人都可以侵入我的 MongoDB