MongoDB warning: Failed to connect

After upgrading MongoDB from version 2.4 to 2.6, I am not able to connect to it from another machine. The firewall has been checked to ensure that port 27017 is opened for the machine that I want to connect from.

So what else could go wrong?  Well, I was impatient and turned to you know what… Google search. According to this link: https://groups.google.com/forum/#!msg/mongodb-user/yhf05AW-hK8/YqES0cVIXlUJ, the problem is due to the database is bound to only local IP.

Indeed, this was the case, and I could have found it out very easily had I run the netstat command:

# netstat -tpln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       
tcp        0      0 127.0.0.1:27017             0.0.0.0:*                   LISTEN      10122/mongod 

To fix this, modify /etc/mongod.conf to include your server’s IP. Make sure you use ‘;’ instead of ‘,’ to list IP addresses.

# Listen to local interface only. Comment out to listen on all interfaces. 
bind_ip=127.0.0.1;123.123.123.123

If you use Salt to manage your server, here is an example:

include:
  - yum.mongodb

mongodb:
  pkg.installed:
    - name: mongodb-org
  service.running:
    - name: mongod
    - enable: True
    - watch:
      - file: /etc/mongod.conf

/etc/mongod.conf:
  file.managed:
    - source: salt://mongodb/files/etc/mongod.conf

Leave a Reply

Your email address will not be published. Required fields are marked *