La conexión se negó a MongoDB errno 111

Tengo un servidor Linode que ejecuta Ubuntu 12.04 LTS y la instancia de MongoDB (el servicio se está ejecutando y PUEDE conectarse localmente) al que no puedo conectarme desde una fuente externa.

He agregado estas dos reglas a mis tablas IP, donde es el servidor del que quiero conectar DESDE (como se describe en esta referencia de MongoDB ):

iptables -A INPUT -s -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -d -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

Y veo la regla en mi tabla IP que permite las conexiones en 27017 hacia y desde , sin embargo, cuando bash conectarme desde a mi base de datos mongo usando un comando como este:

mongo databasedomain/databasename -u username -p password

Me sale este error:

2014-07-22T23:54:03.093+0000 warning: Failed to connect to databaseserverip:27017, reason: errno:111 Connection refused 2014-07-22T23:54:03.094+0000 Error: couldn't connect to server :27017 (databaseserverip), connection attempt failed at src/mongo/shell/mongo.js:148 exception: connect failed

¡¡¡¡Se agradece mucho cualquier ayuda!!!! ¡¡¡Gracias!!!

Gracias por ayudar a todos!

Resulta que fue un conflicto iptable. Dos reglas que enumeran el puerto abierto (que resultó en un puerto cerrado).

Sin embargo, uno de los comentarios de aka y otro de manu2013 fueron problemas con los que me habría encontrado, si no fuera por el conflicto.

¡Asi que! Recuerde siempre editar el archivo /etc/mongod.conf y configure bind_ip = 0.0.0.0 para realizar conexiones de forma externa.

Además, asegúrese de no tener reglas conflictivas en su tabla ip para el puerto que desea el mongo (consulte el enlace en el sitio de mongodb para configurar sus iptables correctamente).

Pruebe lo siguiente:

 sudo rm /var/lib/mongodb/mongod.lock sudo service mongodb restart 

Estos comandos arreglaron el problema para mí,

 sudo rm /var/lib/mongodb/mongod.lock sudo mongod --repair sudo service mongod start sudo service mongod status 

Si está detrás del proxy, use:
export http_proxy = “http: // nombre de usuario: contraseña@empresa.com: puerto /”
exportar https_proxy = “http: // nombre de usuario: contraseña@empresa.com: puerto /”

Referencia: https://stackoverflow.com/a/24410282/4359237

Para Ubuntu Server 15.04 y 16.04 solo necesita ejecutar este comando

 sudo apt-get install --reinstall mongodb 

No tenía un directorio /data/db . Creé uno y dí un permiso de chmod 777 y funcionó para mí

Otra opción es simplemente reparar su base de datos como tal (nota: el directorio db0 debe pre-crearse primero):

 mongod --dbpath /var/lib/mongodb/ --repairpath /var/lib/mongodb/db0 

Esta también es una opción aceptable en entornos de producción …

También tuve el mismo problema. Haga un directorio en dbpath. En mi caso no había un directorio en / data / db. Así que creé uno. Ahora está funcionando. Asegúrese de dar permiso a ese directorio.

En mi caso, la versión anterior era 3.2. Me actualicé a 3.6 pero los archivos de datos no eran compatibles con la nueva versión, así que eliminé todos los archivos de datos porque no era utilizable para mí y sus trabajos.

Puede verificar los registros usando /var/log/mongodb

    Intereting Posts