我想将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 :27017 at 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 回答
Meteor每个app运行它自己的mongo实例 . 正如您在编辑时所注意到的那样,当您使用--port 3002进行连接时,您可以使用--port 3002进行连接 .
现在您可以将该端口添加到mongo shell启动中,除了一个问题
ps -ef | grep mongo
在您的VM上将显示mongo的运行实例及其启动选项 . 默认情况下,这将绑定到
127.0.0.1
,这是环回适配器,无法在VM外部访问 .因此,您需要做的是更改项目中的启动选项,或者在本地计算机上安装的mongo上使用另一个实例 .
默认情况下,在Ubuntu上的mongod insllation只能监听localhost,因此无法从Windows连接 .
编辑/etc/mongodb.conf并更改bind_ip行(在本地网络上添加Windows IP地址),这样它就会接受连接 .
请注意,默认情况下,mongod不需要身份验证,因此您可能需要进行身份验证 .
Doc在这里:http://docs.mongodb.org/manual/reference/configuration-options/#bind_ip
对于快速和肮脏的解决方案(不适用于 生产环境 ):
编辑/etc/mongodb.conf并将bind_ip更改为0.0.0.0