0

我想将 mongo 从 windows 中的 cmd shell 连接到在 Ubuntu 虚拟机中运行的 mongod 数据库。

mongo 在 Ubuntu 终端和 putty shell 中运行良好当我在 windows cmd shell 中使用 mongo 时,出现此错误:

mongo.exe --host 192.168.1.6 --port 27017
MongoDB shell 版本:2.4.6
连接到:192.168.1.6 :27017
/test Sat Feb 01 14:45:32.181 错误:无法连接到服务器 192.168.1.6: src/mongo/shell/mongo.js:147 处的 27017
异常:连接失败

我应该怎么做才能连接?

我的目标是使用 MongoVue 连接到 Ubuntu 机器中的 mongod 数据库(顺便说一下,即使使用 SSH 选项,MongoVue 也无法连接)。

我正在尝试连接到 meteorjs 应用程序的 mongod 实例。流星应用程序已启动并正在运行,我可以在 Ubuntu 终端和 putty shell 中连接到在 Ubuntu 机器上运行的 mongod 实例的 3002 端口。

stefano@MeteorDeploy:~$ mongo --port 3002
MongoDB shell version: 2.0.4
connecting to: 127.0.0.1:3002/test
PRIMARY> show dbs
local   0.0625GB
meteor  0.0625GB

我想使用 MongoVue 作为腻子外壳的替代品连接到 mongod 实例。我在 docs.mongodb.org/manual/tutorial/configure-linux-iptables-firewall/ 中做了,但没有成功。

4

3 回答 3

1

Meteor 为每个应用程序运行它自己的 mongo 实例。正如您自编辑以来所指出的那样,当您 ssh 进入您的虚拟机时,您使用 --port 3002 进行连接。

现在您可以将该端口添加到您的 mongo shell 启动中,除了一个问题

ps -ef | grep 蒙戈

在您的 VM 上将显示正在运行的 mongo 实例及其启动选项。默认情况下,这将绑定到127.0.0.1哪个是环回适配器,并且在 VM 之外无法访问。

因此,您需要做的是要么更改项目中的启动选项,要么使用本地机器上安装的 mongo 上的另一个实例。

export MONGO_URL=mongodb://localhost:27017/your_db
于 2014-02-01T14:19:05.573 回答
0

默认情况下,Ubuntu 上的 mongod 安装只监听 localhost,因此您无法从 Windows 连接。

编辑 /etc/mongodb.conf 并更改 bind_ip 行(在本地网络上添加您的 Windows IP 地址),以便它接受连接。

请注意,默认情况下 mongod 不需要身份验证,因此您可能需要设置一个。

文档在这里: http ://docs.mongodb.org/manual/reference/configuration-options/#bind_ip

于 2014-02-01T16:46:18.770 回答
0

对于快速而肮脏的解决方案(不适用于生产):

编辑 /etc/mongodb.conf 并将 bind_ip 更改为 0.0.0.0

于 2015-02-28T23:49:09.227 回答