我想将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/中做了,但没有成功。
答案 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