首页 文章

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

提问于
浏览
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 :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 回答

  • 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
    
  • 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

  • 0

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

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

相关问题