Verbindung zu 127.0.0.1:27017 fehlgeschlagen, Grund: errno: 111 Verbindung abgelehnt


81

Während ich diesen Mongo-Befehl in Ubuntu versuche, wird dieser Fehler angezeigt.

    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

Wie kann ich das korrigieren? Hat jemand das gleiche Problem?


6
mongodServer läuft nicht, drehen Sie ihn auf, indem Sie mongodauf dem Terminal tippen.
Ravi

2
Ihr Mongod läuft nicht auf 127.0.0.1 Können Sie versuchen, wie dieser "Mongo - Host Localhost"
Lalit Agarwal

1
Vielen Dank an alle, die ich versucht habe, Mongo auszuführen. Es wurde nicht ausgeführt. Endlich stellte ich fest, dass auf meiner Festplatte kein Speicherplatz vorhanden war. Ich habe einen Teil des Speicherplatzes geleert und schließlich das gleiche Installationsverfahren wie in den Mongodb-Dokumenten beschrieben installiert. Der Server wurde schließlich neu gestartet und es läuft. docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu
Ashish Ranjan

4
Sie können Ihre eigene Frage beantworten (anstatt einen Kommentar zu schreiben). Die Lösung wäre sichtbarer und würde anderen helfen
mihai

Antworten:


98

Führen Sie den folgenden Befehl aus:

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

Verbindung zu MongoDB errno 111 abgelehnt

Mac OS:

rm /usr/local/var/mongodb/mongod.lock  
sudo service mongod restart

auf Ubuntu: Mongod statt Mongodb
Blacksonic

6
Nach dem Ausführen von sudo service mongod unter Ubuntu neu starten:Job for mongod.service failed. See "systemctl status mongod.service" and "journalctl -xe" for details.
Flavio Wuensche

4
Es gibt keine mongodbin/var/lib/
RegarBoy

1
laufen Sie mongodstattdessen
Iman Mohamadi

Laufen Sie perfekt auf Ubuntu Server 16.04.1 LTS
Cami Rodriguez

29

Ich hatte das gleiche Problem auf Mac OS Versuche zu laufen sudo mongod und in einem neuen Terminal Registerkarte Lauf Mongo


Ich musste auch mongomit sudo laufen
Tomasz Mularczyk

22

Vielen Dank an alle, die ich versucht habe, Mongo auszuführen. Es wurde nicht ausgeführt. Endlich stellte ich fest, dass auf meiner Festplatte kein Speicherplatz vorhanden war. Ich habe einen Teil des Speicherplatzes geleert und schließlich das gleiche Installationsverfahren wie in den Mongodb-Dokumenten beschrieben installiert. Der Server wurde schließlich neu gestartet und es läuft.

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


Ich weiß nicht, warum Sie neu installiert werden. Ich denke, es reicht aus, um Speicherplatz freizugeben, indem unerwünschte Dateien gelöscht werden, und dann möchten Sie möglicherweise den mongod-Dienst neu starten, da der mongod-Dienst möglicherweise aufgrund von fehlendem Speicherplatz beendet wird. Gibt es einen bestimmten Grund für eine Neuinstallation?
Siva S

18

In meinem Fall war der Fehler auf den fehlenden Ordner / data / db zurückzuführen, in dem der Mongodb Ihre Daten speichert. Bitte geben Sie diesen Befehl $sudo mongod in Ihr Terminal ein. Wenn die Fehlermeldung ungefähr so ​​lautet:

missing data/db folder error

Erstellen Sie einfach den Ordner und Sie können loslegen.


Seltsam, wie es nicht automatisch erstellt wird.
Basickarl

Erstellen Sie directroy data / db im Stammordner und funktionieren Sie nun einwandfrei.
Vidur Punj

Hinweis: Vergessen Sie nicht, dem Ordner auch Berechtigungen zu erteilen. mkdir /data/dbdannchmod 777 /data/db
AndreFeijo

11

Zuerst starten MongoDB:

sudo service mongod start

Führen Sie dann Folgendes aus:

mongo

9

Wahrscheinlich haben Sie keinen Speicherplatz auf Ihrer Festplatte. Überprüfen Sie dies, indem Sie die Eingabeaufforderung eingeben df -h

Bitte beachten Sie, dass Mongo möglicherweise sogar mit 3 GB in der entsprechenden Partition fehlschlägt. Weitere Informationen finden Sie im Protokoll:cat /var/log/mongodb/mongod.log


"mongodb.log" hatte einen Tippfehler und wird als "mongod.log" geschrieben. Ich habe versucht zu bearbeiten, aber Stackoverflow sagte mir, dass ich mindestens 6 Zeichen bearbeiten musste. Schlechte Idee imo SO.
Robert Bracco

8

Ich hatte das gleiche Problem auf meinem Mac und habe Mongodb über Homebrew installiert. Ich löse dieses Problem mit dem Befehl homebrew services .

Starten Sie zuerst den Mongodb-Service:

$ brew services start mongodb

Starten Sie das Mongodb-Terminal

$ mongo

Stoppen Sie den Mongodb-Service:

$ brew services stop mongodb


7

Stellen Sie sicher, dass Sie den MongoDB-Dienst ausgeführt haben, bevor Sie die Konsole verbinden möchten.

Führen Sie den Server aus und starten Sie ihn:

$ sudo mongod

dann:

$ mongo
...
>

5

Mach das:

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

Wenn Sie mit Ubuntu 16.04 arbeiten, können Sie dies herausfinden, indem Sie Folgendes ausführen:

lsb_release -a

Sie müssen eine neue Datei /lib/systemd/system/mongod.servicemit folgendem Inhalt erstellen :

[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

4

In meinem Fall wurde das Problem durch einen offensichtlichen Verlust der Berechtigung für die Datei mongodb.lock verursacht. Ich könnte das Problem beim Ändern der Berechtigung mit dem folgenden Befehl lösen:

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

Es folgt meine Untersuchung: Schrittweise Überprüfung


4

Ich denke, mit Ausnahme von Speicherplatzproblemen sollten Sie die Anmeldung überprüfen /var/log/mongodb, um die Details zu erfahren, warum der Mongodb-Start fehlgeschlagen ist.

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

Also, hier muss ich alle Dateien in der rm /tmp. Das funktioniert gut für mich.



3

In meinem Fall war bind_ip nicht 127.0.0.1 in /etc/mongodb.conf Datei so ändern bind_ip auf 127.0.0.1 (es Komma getrennt werden kann , so Werte 127.0.0.1 stellen Sie sicher , ist einer von ihnen) Dann starten Sie das System zu übernehmen. Starten Sie nur für diejenigen neu, die konfrontiert sind

$sudo service mongod restart
Failed to restart mongod.service: Unit mongod.service not found.

3

Für Mongo v3.6.3 + (oder 2019-Versionen)

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

1

ist sehr einfach, nur eine Datei löschen /var/lib/mongodb/mongodb.lock. nach nur ausführen : mongo. fertig


1

Es ist möglich, dass das in angegebene Datenverzeichnis für Mongo /etc/mongod.confkein gültiger Pfad ist.

Überprüfen Sie den Pfad erneut, falls er tatsächlich vorhanden ist, sudo vi /etc/mongod.confund überprüfen Sie ihn dbPath.


1

Ich habe den gleichen Fehler bei Ihnen, dies ist mein Fall:

~# 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

Ich tippe mongod, um den Server zu starten, und ich tippe control+c , um zur Shell zu gelangen

dann tippe ich mongound ich habe

~# 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

Wie Sie sehen können, sind meine Fehlerinformationen bei Ihnen identisch.

Dies ist der Fall, wenn Mongod nicht mit dem Backend-Prozess beginnt, wenn ich control+ ctippe und Mongod beende.

Wir können --fork args hinzufügen, um den Prozessdämonprozess durchzuführen.

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

Sie müssen --logpath festlegen, wenn Sie --fork verwenden möchten

dann wirst du erfolgreich eine Verbindung zu Mongo herstellen


1

Befolgen Sie diese einfachen Schritte. (Funktioniert auch unter MAC OS)

  1. Terminal öffnen und ausführen sudo mongod

  2. Öffnen Sie eine neue Terminal-Registerkarte (schließen Sie die Registerkarte Schritt 1 nicht) und führen Sie sie aus sudo mongo

Das ist alles


0

Mongo 3. *. * - OSX - 2017

Aus der README

RUNNING

Wechseln Sie in das Verzeichnis mongodb-osx-x86_64-3. *. * / Bin

So führen Sie eine einzelne Serverdatenbank aus:

$ mkdir /data/db
$ ./mongod

Gehe zum neuen Terminal

$ # The mongo javascript shell connects to localhost and test database 
$ # by default -Run the following command in new terminal
$ ./mongo 
> help

Warum das Downvoting? So solltest du es machen ?? !!
Mina Gabriel

0

Ich habe das einfach durch Eingabe sudo mongonach dem mongodBefehl gelöst .



0

Nur ein paar Gedanken zu meinem Fall.

Wenn Sie die Verzeichnisse dbPath und logPath in Ihre benutzerdefinierten Werte geändert haben (z. B. / data / mongodb / data, / data / mongodb / log), müssen Sie sie dem Benutzer mongodb zuweisen, andernfalls dem nicht vorhandenen / data / db / dir wird verwendet.

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

sudo service mongod restart

0

Es gibt Änderungen in der Datei mongod.conf in der neuesten Version von MongoDB v 3.6.5 +

Hier ist, wie ich dieses Problem auf Mac OS High Sierra 10.12.3 behoben habe

Hinweis: Ich gehe davon aus, dass Sie MongoDB mit Homebrew installiert / aktualisiert haben

Mongo - Version

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. finden mongod.conf Datei

     sudo find / -name mongod.conf` 
    

    /usr/local/etc/mongod.conf> erstes Ergebnis.

  2. Öffnen Sie die Datei mongod.conf

    sudo vi /usr/local/etc/mongod.conf
    
  3. Bearbeiten Sie die Datei für den Fernzugriff unter Abschnitt net:

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

    Wenn Sie mit Brew als installiert haben

    brew services stop mongodb
    
    brew services start mongodb
    

Andernfalls beenden Sie den Vorgang.

   sudo kill -9 <procssID>

1
An die Leute, die diese Antwort lesen: VORSICHT! Wenn ich mich nicht irre, bindIpwerden Ihre Datenbanken durch Auskommentieren dem offenen Internet ausgesetzt, es sei denn, Sie haben die Autorisierung aktiviert (sie ist standardmäßig nicht aktiviert).

0

Das Problem mit der Verbindung zur Datenbank war auf mehrere Gründe zurückzuführen. Für mich war der Speicherplatz auf meinem Server-Computer gering, und wenn Mongo versucht, eine Verbindung herzustellen, die aufgrund eines geringen Speicherplatzes abgelehnt wurde, überprüfen Sie den lokalen Speicher Ihres Server-Computers mit, du -shwenn Sie wenig Speicherplatz haben, überprüfen Sie die Größe Ihrer Protokolle und gehen Sie entsprechend vor existieren, weil dbpath im Widerspruch steht /etc/mongod.confund der Server dbpath tatsächlich ausführt. mongod Wenn Sie mit einem solchen Problem konfrontiert sind, überprüfen Sie bitte meine Antwort unter dem unten angegebenen Link. https://stackoverflow.com/a/53057695/8247133


0

Ich hatte das gleiche Problem. Überprüfen Sie daher, ob es einen Mongodb-Ordner gibt. Versuchen Sie zunächst, diesen Ordner zu entfernen

rm -rf /var/lib/mongodb/*

Versuchen Sie nun, Mongo zu starten, und wenn das gleiche Problem vorliegt, dann die Mongodb-Sperrdatei, die das Starten von Mongo verhindert. Löschen Sie daher bitte die Mongo-Sperrdatei

rm /var/lib/mongodb/mongod.lock

Für kraftvoll rm -rf /var/lib/mongodb/mongod.lock

Service Mongodb Neustart, wenn bereits im Sudo-Modus, sonst müssen Sie wie verwenden sudo service mongod start

oder Sie können den Server mit der Fork-Methode starten

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

und um das gleiche zu sehen, ist es gegabelt, überprüfen Sie bitte mit dem folgenden Befehl

ps aux | grep mongo

0

Für diejenigen mit Windows. Ich hatte das gleiche Problem unter Windows. Ein Neustart des Mongodb-Dienstes löst dieses Problem.

Im Folgenden finden Sie die Schritte zum Neustart unter Windows:

ich). Gehen Sie unter Windows zu "Dienste".

ii). Suchen Sie in der Liste der Dienste nach "MongoDB".

iii). Klicken Sie je nach Status mit der rechten Maustaste auf "Start" / "Neustart".

iv). Nachdem der Status "Ausführen" lautet, überprüfen Sie, ob das Problem behoben ist, indem Sie "Mongo" ausführen oder Ihren Mongo-Client verbinden.


0

Denn macOSviele der Antworten sind laut offiziellen Unterlagen bereits veraltet . Irgendwie brewhat sich das geändert und wie wir es installieren sollten MongoDB, deinstallieren Sie es zuerst von Ihrem macOS(auch wenn es möglicherweise nicht notwendig ist) und installieren Sie es dann mit den folgenden Schritten:

  1. brew tap mongodb/brew
  2. brew install mongodb-community@4.4
  3. brew services start mongodb-community@4.4

Pass auf das 4.4Teil auf, es wird sich ändern. Wenn es in Zukunft nicht mehr funktioniert, lesen Sie die offiziellen Dokumente und installieren Sie die Version, die im verknüpften Tutorial vorgeschlagen wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.