无法连接到在Ubuntu机器上运行的mongodb

时间:2014-02-01 13:59:46

标签: mongodb ubuntu meteor mongovue

我想将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 /测试   星期六01月14日14:45:32.181错误:无法连接到服务器192.168.1.6:27017 src / mongo / shell / mongo.js:147
  异常:连接失败

我该怎么做才能连接?

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

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

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实例作为putty shell的替代。 我在docs.mongodb.org/manual/tutorial/configure-linux-iptables-firewall/中做了,但没有成功。

3 个答案:

答案 0 :(得分:1)

Meteor每个app运行它自己的mongo实例。正如您在编辑时所注意到的那样,当您使用--port 3002进行连接时,您可以使用--port 3002进行连接。

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

ps -ef | grep mongo

您的VM上的

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

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

export MONGO_URL=mongodb://localhost:27017/your_db

答案 1 :(得分:0)

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

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

请注意,默认情况下,mongod不需要身份验证,因此您可能需要进行身份验证。

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

答案 2 :(得分:0)

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

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