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;126.96.36.199
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