start socket refused poll mongod iniciar for error connecting checking caused after linux mongodb firewall iptables

linux - socket - La conexión se negó a MongoDB errno 111



start mongod service (8)

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 <dirección IP> es el servidor del que quiero conectar DESDE (como se describe en esta referencia de MongoDB ):

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

iptables -A OUTPUT -d < ip-address > -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 <dirección IP>, sin embargo, cuando intento conectarme desde <dirección IP> 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 < ip address >:27017 (databaseserverip), connection attempt failed at src/mongo/shell/mongo.js:148 exception: connect failed

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


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


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ñ[email protected]: puerto /"
exportar https_proxy = "http: // nombre de usuario: contraseñ[email protected]: puerto /"

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


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).


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


Para Ubuntu Server 15.04 y 16.04 solo necesita ejecutar este comando

sudo apt-get install --reinstall mongodb


Pruebe lo siguiente:

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


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.