No se pudo conectar a 127.0.0.1:27017, motivo: errno: 111 Conexión rechazada

81

al intentar este comando mongo en ubuntu, recibo este error.

    ritzysystem@ritzysystem-Satellite-L55-A:~$ mongo
    MongoDB shell version: 2.6.1
    connecting to: test
    2014-10-06T12:59:35.802+0530 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
    2014-10-06T12:59:35.802+0530 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
    exception: connect failed

¿Cómo puedo rectificar esto si alguien tuvo el mismo problema?

Ashish Ranjan
fuente
6
mongodel servidor no se está ejecutando, enciéndalo escribiendo mongoden la terminal.
Ravi
2
Tu mongod no se está ejecutando en 127.0.0.1 ¿Puedes probar así "mongo --host localhost"
Lalit Agarwal
1
gracias a todos Intenté ejecutar mongo no se estaba ejecutando finalmente encontré que no había espacio en mi disco duro Vacié parte del espacio y finalmente lo reinstalé el mismo procedimiento de instalación que se siguió para instalar como se indica en mongodb docs finalmente reinicié el servidor y está funcionando. docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu
Ashish Ranjan
4
puede responder su propia pregunta (en lugar de publicar un comentario). La solución sería más visible y ayudará a otros
mihai

Respuestas:

98

Ejecute el siguiente comando:

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

Conexión rechazada a MongoDB errno 111

Mac OS:

rm /usr/local/var/mongodb/mongod.lock  
sudo service mongod restart
Jagdish Barabari
fuente
en Ubuntu: mongod en lugar de mongodb
Blacksonic
6
Después de ejecutar sudo service mongod restart en Ubuntu:Job for mongod.service failed. See "systemctl status mongod.service" and "journalctl -xe" for details.
Flavio Wuensche
4
no hay mongodben/var/lib/
RegarBoy
1
corre en su mongodlugar
Iman Mohamadi
Corre perfecto en Ubuntu Server 16.04.1 LTS
Cami Rodriguez
29

Tuve el mismo problema en Mac OS Intente ejecutar sudo mongod y en una nueva pestaña de terminal ejecute mongo

levon
fuente
Tuve que correr mongocon sudo también
Tomasz Mularczyk
22

gracias a todos Intenté ejecutar mongo no se estaba ejecutando finalmente encontré que no había espacio en mi disco duro Vacié parte del espacio y finalmente lo reinstalé el mismo procedimiento de instalación que se siguió para instalar como se indica en mongodb docs finalmente reinicié el servidor y está funcionando.

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu

Ashish Ranjan
fuente
No sé por qué lo reinstalaron. Creo que es suficiente para liberar algo de espacio eliminando archivos no deseados y luego es posible que desee reiniciar el servicio mongod, porque el servicio mongod podría desaparecer debido a que no hay espacio. ¿Existe alguna razón específica para reinstalar ?.
Siva S
18

En mi caso, el error se debió a que faltaba la carpeta / data / db que utiliza mongodb para almacenar sus datos. Escriba este comando $sudo mongod en su terminal. Si el mensaje de error es algo como:

missing data/db folder error

Simplemente cree la carpeta y estará listo.

Sourav Prem
fuente
Es extraño cómo no se crea automáticamente.
basickarl
cree directroy data / db en la carpeta raíz, ahora funciona bien.
vidur punj
Nota: no olvide otorgar también permisos a la carpeta. mkdir /data/dbluegochmod 777 /data/db
AndreFeijo
11

Primero, inicie MongoDB:

sudo service mongod start

Entonces, ejecuta:

mongo
Akash Adhikari
fuente
9

Probablemente no tenga espacio en su disco duro. Compruébalo escribiendo el mensaje df -h

Tenga en cuenta que mongo puede fallar incluso con 3 GB disponibles en la partición correspondiente. Para obtener más detalles, es posible que desee consultar el registro:cat /var/log/mongodb/mongod.log

Pablo Tapia
fuente
"mongodb.log" tenía un error tipográfico y está escrito como "mongod.log". Intenté editar, pero stackoverflow me dijo que tenía que editar al menos 6 caracteres. Mala idea imo SO.
Robert Bracco
8

Tuve el mismo problema en mi Mac e instalé mongodb a través de homebrew. Resuelvo este problema con los servicios de homebrew. comando de .

Servicio de mongodb por primera vez:

$ brew services start mongodb

Iniciar terminal mongodb

$ mongo

Detener el servicio mongodb:

$ brew services stop mongodb

Yingbo Cui
fuente
7

Asegúrese de haber ejecutado el servicio de MongoDB antes de que desee conectar la consola.

ejecutar e iniciar el servidor:

$ sudo mongod

entonces:

$ mongo
...
>
GuoX
fuente
5

Hacer esto:

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

Si está en Ubuntu 16.04, puede averiguarlo ejecutando esto:

lsb_release -a

Necesita crear un nuevo archivo en /lib/systemd/system/mongod.servicecon el siguiente contenido:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target
Iman Mohamadi
fuente
4

En mi caso, el problema se debió a una aparente pérdida de permiso sobre el archivo mongodb.lock. Podría solucionar el problema cambiando el permiso con el siguiente comando:

sudo chown mongodb:mongodb /var/lib/mongodb/mongodb.lock

Sigue mi investigación: verificación paso a paso

pablo.vix
fuente
4

Creo que, excepto por el uso del espacio en disco, debe verificar el inicio de sesión /var/log/mongodbpara conocer los detalles de por qué falló el inicio de mongodb.

cat /var/log/mongodb/mongod.log

2016-06-26T15:26:26.642+0800 I CONTROL  [main] ***** SERVER RESTARTED *****
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] MongoDB starting : pid=8130 port=27017 dbpath=/var/lib/mongodb 64-bit host=hadoop-master
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] db version v3.2.7
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] git version: 4249c1d2b5999ebbf1fdf3bc0e0e3b3ff5c0aaf2
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] modules: none
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] build environment:
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     distmod: ubuntu1404
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     distarch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1,192.168.3.10", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2016-06-26T15:26:26.678+0800 E NETWORK  [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-06-26T15:26:26.678+0800 I -        [initandlisten] Fatal Assertion 28578
2016-06-26T15:26:26.678+0800 I -        [initandlisten] 

***aborting after fassert() failure

Entonces, aquí necesito rm todos los archivos en el /tmp. Eso funciona bien para mí.

GoingMyWay
fuente
3

Entiendo que la pregunta es con respecto a Ubuntu.

Pero si recibe el mismo error en una Mac y no quiere que se $ sudo mongodejecute en una pestaña separada, puede hacer lo siguiente para corregir el error de conexión, si tiene Homebrew:

brew services start mongodb

Basado en la respuesta de este hilo - No se puede conectar a mongodb errno: 61 Conexión rechazada

Aswin Ramakrishnan
fuente
3

En mi caso, bind_ip no era 127.0.0.1 en el archivo /etc/mongodb.conf , así que cambie bind_ip a 127.0.0.1 (pueden ser valores separados por comas, así que asegúrese de que 127.0.0.1 sea uno de ellos) Luego reinicie su sistema para que surta efecto. Reinicie solo para los que se enfrentan

$sudo service mongod restart
Failed to restart mongod.service: Unit mongod.service not found.
Señor código.
fuente
3

Para mongo v3.6.3 + (o versiones 2019)

rm /var/lib/mongodb/mongod.lock
service mongodb restart
penta
fuente
1

es muy simple, solo borra un archivo /var/lib/mongodb/mongodb.lock. después de sólo ejecutar: mongo. terminado

Felipe Sousa
fuente
1

Es posible que el directorio de datos para mongo especificado en /etc/mongod.confno sea una ruta válida.

Intente volver a sudo vi /etc/mongod.confverificar la ruta si realmente existe y verifique dbPath.

Rohith Yeravothula
fuente
1

Tengo el mismo error contigo, este es mi caso:

~# mongod
2018-07-15T05:27:08.265+0000 I JOURNAL  [initandlisten] journal dir=/data/db/journal
2018-07-15T05:27:08.265+0000 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2018-07-15T05:27:08.301+0000 I JOURNAL  [durability] Durability thread started
2018-07-15T05:27:08.301+0000 I JOURNAL  [journal writer] Journal writer thread started
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] MongoDB starting : pid=26796 port=27017 dbpath=/data/db 64-bit host=ubuntu-s-2vcpu-4gb-sfo2-01
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] db version v3.0.6
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] git version: 1ef45a23a4c5e3480ac919b28afcba3c615488f2
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] build info: Linux build6.ny.cbi.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] options: {}
2018-07-15T05:27:08.308+0000 I NETWORK  [initandlisten] waiting for connections on port 27017

Escribo mongod para iniciar el servidor y escribo control+c para salir al shell

luego escribo mongoy tengo

~# mongo
MongoDB shell version: 3.0.6
connecting to: test
2018-07-15T05:05:02.738+0000 W NETWORK  Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2018-07-15T05:05:02.739+0000 E QUERY    Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
    at connect (src/mongo/shell/mongo.js:179:14)
    at (connect):1:6 at src/mongo/shell/mongo.js:179

Como puede ver, mi información de error es la misma que la suya.

Este es el caso de que mongod no comience con el proceso de backend, cuando escribo control+ csalgo de mongod.

Podemos agregar --fork args para hacer que el demonio de proceso se procese.

#  mongod --logpath /usr/local/mongodb/log.txt --fork

tienes que establecer --logpath si quieres usar --fork

entonces tendrás éxito para conectarte a mongo

bitfishxyz
fuente
1

Siga estos sencillos pasos; (También funciona en MAC OS)

  1. Abrir terminal y ejecutar sudo mongod

  2. Abra una nueva pestaña de terminal (no cierre la pestaña del paso 1) y ejecute sudo mongo

Eso es todo

Víctor Ifeanyi Ejiogu
fuente
0

Mongo 3. *. * - OSX - 2017

De README

RUNNING

Cambie el directorio a mongodb-osx-x86_64-3. *. * / Bin

Para ejecutar una base de datos de un solo servidor:

$ mkdir /data/db
$ ./mongod

Ir a la nueva terminal

$ # The mongo javascript shell connects to localhost and test database 
$ # by default -Run the following command in new terminal
$ ./mongo 
> help
Mina Gabriel
fuente
¿Por qué la votación negativa? esta es la forma en que debes hacerlo ?? !!
Mina Gabriel
0

Lo resolví simplemente ingresando sudo mongodespués del mongodcomando.

pavle
fuente
0

Solo algunas reflexiones sobre mi caso.

Si ha cambiado los directorios dbPath y logPath a sus valores personalizados (digamos / data / mongodb / data, / data / mongodb / log), debe cambiarlos al usuario mongodb, de lo contrario, el directorio no existente / data / db / se utilizará.

sudo chown -R mongodb:mongodb /data/mongodb/

sudo service mongod restart
Aram Paronikyan
fuente
0

Hay cambios en el archivo mongod.conf en la última versión de MongoDB v 3.6.5 +

Así es como solucioné este problema en mac os High Sierra v 10.12.3

Nota: supongo que ha instalado / actualizado MongoDB usando homebrew

mongo --versión

MongoDB shell version v3.6.5 
git version: a20ecd3e3a174162052ff99913bc2ca9a839d618 
OpenSSL version: OpenSSL 1.0.2o  27 Mar 2018 
allocator: system modules: none build environment:
distarch: x86_64
target_arch: x86_64
  1. buscar el archivo mongod.conf

     sudo find / -name mongod.conf` 
    

    /usr/local/etc/mongod.conf> primer resultado.

  2. abra el archivo mongod.conf

    sudo vi /usr/local/etc/mongod.conf
    
  3. editar en el archivo para acceso remoto en net: sección

     port: 27017  
     bindIpAll: true 
     #bindIp: 127.0.0.1 // comment this out
    
  4. reiniciar mongodb

    si ha instalado usando brew que

    brew services stop mongodb
    
    brew services start mongodb
    

de lo contrario, finalice el proceso.

   sudo kill -9 <procssID>
diEcho
fuente
1
Para las personas que lean esta respuesta: ¡CUIDADO! A menos que me equivoque, comentar bindIpexpondrá sus bases de datos a la Internet abierta a menos que tenga la autorización habilitada (no está habilitada de manera predeterminada).
0

El problema fue con la conexión a la base de datos, podría deberse a varias razones. Para mí, había poco espacio en el disco en mi máquina servidor, y cuando mongo intenta conectarlo, se niega debido a que hay poco disco, verifique el almacenamiento local de su máquina servidor du -shsi tiene poco espacio de almacenamiento, verifique el tamaño de sus registros y tome las medidas correspondientes, el problema puede existe debido a que dbpath se contradice /etc/mongod.confy el servidor realmente ejecuta dbpath con mongod Si se enfrenta a ese tipo de problema, consulte mi respuesta en el enlace que se proporciona a continuación. https://stackoverflow.com/a/53057695/8247133

Touseef Murtaza
fuente
0

Enfrenté el mismo problema, así que verifique si hay una carpeta mongodb, primero intente eliminar esa carpeta

rm -rf /var/lib/mongodb/*

Ahora intente iniciar mongo y si tiene el mismo problema, entonces su archivo de bloqueo mongodb que impide iniciar mongo, así que elimine el archivo de bloqueo mongo

rm /var/lib/mongodb/mongod.lock

Por contundente rm -rf /var/lib/mongodb/mongod.lock

reiniciar el servicio mongodb si ya está en modo sudo; de lo contrario, debe usar like sudo service mongod start

o puede iniciar el servidor usando el método fork

mongod --fork --config /etc/mongod.conf

y para ver lo mismo si está bifurcado, verifique usando el siguiente comando

ps aux | grep mongo
VIKAS KOHLI
fuente
0

Para aquellos con Windows. Tuve el mismo problema en Windows. Reiniciar el servicio Mongodb resuelve este problema.

Los siguientes son los pasos para reiniciar en Windows:

yo). Vaya a "Servicios" en Windows.

ii). Busque "MongoDB" en la lista de servicios.

iii). Haga clic derecho en "iniciar" / "reiniciar" dependiendo de su estado.

iv). Después de que el estado cambie a "en ejecución", compruebe si el problema se ha resuelto ejecutando "Mongo" o conectando su cliente Mongo.

varad11
fuente
0

Porque macOSmuchas de las respuestas ya están desactualizadas según los documentos oficiales . De alguna manera brewha cambiado y cómo deberíamos instalarlo MongoDB, primero desinstálelo de su macOS(aunque puede que no sea necesario) y luego instálelo siguiendo estos pasos:

  1. brew tap mongodb/brew
  2. brew install [email protected]
  3. brew services start [email protected]

Cuidado con la 4.4parte, cambiará. Si en el futuro se rompe, consulte los documentos oficiales e instale la versión, que se sugiere en el tutorial vinculado.

Daniel Danielecki
fuente