it-swarm.com.de

mongo - Verbindung zum Server 127.0.0.1:27017 konnte nicht hergestellt werden

Ich komme aus riak und redis, wo ich nie Probleme hatte, wenn diese Dienste starteten oder interagieren.

Dies ist ein durchdringendes Problem bei Mongo und ich bin eher ahnungslos. Neustart hilft nicht. Ich bin neu im Mongo. 

mongo
MongoDB Shell version: 2.2.1
connecting to: test
Fri Nov  9 16:44:06 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/Shell/mongo.js:91
exception: connect failed

Das sehe ich in den Protokollen.

 now open)
Fri Nov  9 16:44:34 [conn47] end connection 10.29.16.208:5306 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5307 #48 (2 connections now open)
Fri Nov  9 16:45:04 [conn48] end connection 10.29.16.208:5307 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5308 #49 (2 connections now open)
Fri Nov  9 16:45:04 [conn49] end connection 10.29.16.208:5308 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5316 #50 (2 connections now open)
Fri Nov  9 16:45:34 [conn50] end connection 10.29.16.208:5316 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5317 #51 (2 connections now open)
Fri Nov  9 16:45:34 [conn51] end connection 10.29.16.208:5317 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5320 #52 (2 connections now open)
Fri Nov  9 16:46:04 [conn52] end connection 10.29.16.208:5320 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5321 #53 (2 connections now open)
Fri Nov  9 16:46:04 [conn53] end connection 10.29.16.208:5321 (1 conn
109
Tampa

Dieser Fehler wird angezeigt, wenn die Mongo-Shell nicht mit dem Mongod-Server kommunizieren konnte.

Dies kann daran liegen, dass die Adresse falsch war (Host oder IP) oder dass sie nicht ausgeführt wurde. Zu beachten ist, dass der bereitgestellte Protokollablauf nicht den "Fri Nov 9 16:44:06" Ihres mongo timestamp abdeckt. 

Können Sie:

  1. Geben Sie die Befehlszeilenargumente (falls vorhanden) an, die zum Starten Ihres Mongod-Prozesses verwendet werden
  2. Bereitstellen der Protokolldatei-Aktivität vom Start des Mongod sowie von Protokollen während des Starts der Mongo-Shell?
  3. Bestätigen Sie, dass Ihr Mongod-Prozess auf derselben -Maschine wie die Mongo-Shell gestartet wird.
37
Jenna

Dies ist normalerweise darauf zurückzuführen, dass Sie den Mongod-Prozess nicht gestartet haben, bevor Sie die Mongo-Shell starten. 

Starten Sie den Mongod Server

mongod

Öffnen Sie ein anderes Terminalfenster

Starten Sie die Mongo-Shell

mongo
219
Ravi Hamsa

Aufgelöst.

Dieses Problem könnte durch die unten genannten 4 Schritte gelöst werden 

1) Entfernen Sie die .lock-Datei

Sudo rm /var/lib/mongodb/mongod.lock 

2) den mongodb reparieren 

mongod –repair

3) Starten Sie den Mongod-Server

Sudo service mongod start 

4) Starten Sie den Mongo-Client 

mongo

Weitere Informationen finden Sie unter http://shakthydoss.com/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/

http://shakthydoss.com/technical/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/

55
shakthydoss

Diese Methode funktioniert nur, wenn Sie Ihre Datendateien reparieren möchten, ohne die Originaldateien zu erhalten.

Um herauszufinden, wo sich Ihr Datenbankpfad befindet - vim /etc/mongodb.conf

prüfen Sie die Option dbpath =.

(Ich habe dbpath =/var/lib/mongodb)

Standardeinstellung:/data/db /

Typische Standorte sind:/srv/mongodb,/var/lib/mongodb oder/opt/mongodb.

Ersetzen Sie / var/lib/mongodb durch Ihren dbpath.

Sudo rm /var/lib/mongodb/mongod.lock
Sudo mongod --dbpath /var/lib/mongodb/ --repair
Sudo mongod --dbpath /var/lib/mongodb/ --journal

(Stellen Sie sicher, dass Sie Ihr Terminal laufen lassen, in dem Sie über den Zeilen verlaufen sind.... Drücken Sie nicht 'Strg + c' oder beenden Sie es.) Geben Sie den Befehl ein, um den Mongo jetzt in einem anderen Fenster zu starten.

Hoffe, das funktioniert für Sie! für diejenigen, die Ihre Datendateien reparieren möchten, während die Originaldateien erhalten bleibenMongo erholen

35
poorva

In meinem Fall:

Zuerst öffne ich die Konfigurationsdatei

Sudo vi /etc/mongodb.conf

Kommentiere IP und Port wie folgt

#bind_ip = 127.0.0.1
#port = 27017

Starten Sie dann mongodb neu

Sudo service mongodb restart
Sudo service mongod restart

Endlich ist es Arbeit: D

[email protected] ~ $ mongo
MongoDB Shell version: 2.4.9
connecting to: test
> exit
11
Finn

Stellen Sie sicher, dass Ihr Mongo ausgeführt wird. Dieses Problem wurde behoben, indem Sie versuchten, den Mongodb zu reparieren. Dort wurde festgestellt, dass das für die Ausführung der Datenbank erforderliche Verzeichnis nicht erstellt wurde. Es zeigt diesen Fehler

Geben Sie Folgendes ein: mongod. Der Fehler wird angezeigt

exception in initAndListen: 29 Data directory /data/db not found., terminating

Fehler tritt auf, weil der Datenbankpfad /data/db/ (Standardkonfiguration) nicht vorhanden ist. Sie müssen einen Datenordner erstellen und die Berechtigung dafür festlegen.

Dann erstelle ich mit dem Befehl einen Ordner auf meinem System

Sudo mkdir -p/data/db/ Und Sudo chown id -u/data/db

dann laufe ich wieder den mongo und es hat funktioniert. 

Ein wenig zu spät mit der Antwort, aber ich habe das gleiche Problem gesehen 

Die folgenden Schritte haben mir geholfen.

  1. Gehe zu C: \
  2. Erstellen Sie einen "Daten" -Ordner
  3. In "data" erstellen Sie den Ordner "db"
  4. terminal öffnen (CMD) -> gehe zu EX: "c:\MongoDB\Server\3.4\bin"
  5. tippen Sie in mongod => dies startet den mongoserver (lass ihn geöffnet)

Ausführen über eine GUI, EX "robomongo" 

Oder 

neues Terminal öffnen (CMD) -> gehe zu EX: "c:\MongoDB\Server\3.4\bin" tippe "mongo" ein

9
user8895024

Wenn alle oben genannten Lösungen nicht funktionieren, gehen Sie zu service (start>search>services) und starten Sie den mongodb-Service. Geben Sie dann in einer cmd-Eingabeaufforderung :/>mongo ein.

4
Khalid

Um sich mit Mongo zu verbinden, müssen wir zuerst 'Mongod' starten. Folgende Ausgabe sehen Sie:

$ mongod
2017-03-05T00:31:39.055+0530 I CONTROL  [initandlisten] MongoDB starting : pid=1481 port=27017 dbpath=/data/db 64-bit Host=Prabhu-Nandans-Mac.local
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] db version v3.4.2
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2k  26 Jan 2017
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] allocator: system
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] modules: none
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] build environment:
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     distarch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     target_Arch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] options: {}
2017-03-05T00:31:39.056+0530 W -        [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
2017-03-05T00:31:39.057+0530 I -        [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-03-05T00:31:39.057+0530 W STORAGE  [initandlisten] Recovering data from the last clean checkpoint.
2017-03-05T00:31:39.057+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=3584M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2017-03-05T00:31:39.643+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-03-05T00:31:39.643+0530 I NETWORK  [thread1] waiting for connections on port 27017
2017-03-05T00:31:40.008+0530 I FTDC     [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK
2017-03-05T00:32:03.832+0530 I NETWORK  [thread1] connection accepted from 127.0.0.1:49806 #1 (1 connection now open)
2017-03-05T00:32:03.833+0530 I NETWORK  [conn1] received client metadata from 127.0.0.1:49806 conn1: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "3.4.2" }, os: { type: "Darwin", name: "Mac OS X", architecture: "x86_64", version: "16.4.0" } }
2017-03-05T00:32:08.376+0530 I -        [conn1] end connection 127.0.0.1:49806 (1 connection now open)

Öffnen Sie danach ein anderes Terminal und geben Sie einfach 'mongo' ein.

Folgendes ist Ausgabe, die Sie sehen können:

$ mongo
MongoDB Shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.2

Dein Problem gelöst :)

3

Ich bin ein Windows-Benutzer und habe MongoDB im November 2018 installiert. Ich wollte keine Daten-/Datenbankverzeichnisse einrichten. Aber nach einigen Tagen, als ich öffne, bekam ich eine Fehlermeldung:

MongoDB Shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017
2018-12-05T20:42:40.108+0530 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it. :
[email protected]/mongo/Shell/mongo.js:257:13
@(connect):1:6
exception: connect failed

Dann habe ich versucht, das Problem mit den obigen Antworten zu beheben und funktionierte nicht. Als ich versuchte, den Mongod zu rennen, hieß es 

MongoDB starting : pid=12220 port=27017 dbpath=C:\data\db\ 64-bit Host=bla

Ich habe versucht, den Datenbankpfad (in Programmdateien) über das Dateisystem und auch mit cmd zu ändern, aber das hat nicht funktioniert.

Lösung, die für mich funktioniert hat:

Öffnet den Task-Manager (ctrl + shift + esc) -> Services und da war eine MongoDB-Zeile mit dem Status gestoppt . Dann habe ich rechts geklickt und Start geklickt und alles funktioniert einwandfrei:).

3
Blasanka

Sie können es mit folgendem Befehl versuchen:

Sudo service mongod start

Ich habe auch das gleiche Problem, als ich durch diese beiden Codezeilen behoben wurde. Ich hoffe es hilft

systemctl start mongod
systemctl enable mongod
1

Erstellen Sie den Ordner C: data/db, falls er noch nicht auf Ihrem Computer vorhanden ist. Es stellt sich heraus, dass MongoDB diese Ordnerstruktur 'data/db' zur Ausführung benötigt. Ich hoffe das hilft jemandem.

1
Amin Balogun

Die Ursache für mich war der Speicherplatz - führen Sie dies in der Konsole aus:

df -h

oder genauer:

du -hs /var/lib/mongodb/ 

um die Festplattennutzung zu überprüfen. Wenn es ~ 99% ist - bereinigen Sie einfach etwas Platz und versuchen Sie es erneut!

1
tsveti_iko

@shakthydoss Antwort hat einmal gut funktioniert, aber nach der zweiten Ausgabe war das .lock nicht da, ich habe nur ein leeres erstellt und es hat gut funktioniert. Überprüfen Sie also, ob Ihre nicht da ist.

Wenn Sie die Befehlszeile verwenden:

cd /var/lib/mongodb

ls

"ls" listet alle Dateien im Ordner auf. Wenn mongod.lock nicht vorhanden ist, dann:

Sudo touch mongod.lock

Führen Sie schließlich den Befehl aus.

mongod –-repair

Sudo service mongod start 

Mongo-Service sollte gut funktionieren.

1
GAltelino

Dies geschah heute mit mir und ich habe es auf folgende Weise gelöst. 

Maschine: Ich verwende Windows 10 und lade die neueste MongoDB - Community Edition herunter. 

Das Problem war also, ich habe C:\data\db nicht erstellt. 

Ohne C:\data\db zu erstellen, habe ich CMD-Terminal geöffnet und die Datenbank mit dem Befehl mongod am Terminal gestartet 

C:\IhrInstallationspfad\bin> mongod 

Und als ich mongo abfeuerte, bekam ich das Problem.

Twist, ich habe die notwendigen Ordner erstellt, bekam aber immer noch das Problem. Und das ist so, weil der Mongo-Server bereits läuft. Um das Problem zu beheben, habe ich den mongod-Befehl erneut gestartet und automatisch auf C:\data\db verwiesen.

Andere Benutzer haben vorgeschlagen, C:\data\db hinzuzufügen, sprachen jedoch nicht mehr über die Ausführung von mongod

1
Amnesh Goel

Eine andere Lösung, die den gleichen Fehler für mich beseitigt hat, obwohl diese nur dann möglich ist, wenn Sie über eine SSH-Verbindung (lokal) über eine virtuelle Maschine auf Mongo zugreifen (zumindest ist dies mein Setup).

export LC_ALL=C

Ich hatte auch mehr Erfolg beim Ausführen von Mongo als Daemon-Dienst, als beim Start des Sudo-Dienstes. Mein Verständnis ist, dass dies Befehlszeilenargumente anstelle der Konfigurationsdatei verwendet, sodass es wahrscheinlich ein Problem mit meiner Konfigurationsdatei gibt:

mongod --fork --logpath /var/log/mongodb.log --auth --port 27017 --dbpath /var/lib/mongodb/admin
1
edencorbin

Gehen Sie zuerst zu c:\mongodb\bin>, um mongoDB zu aktivieren. Wenn Sie in der Konsole sehen, dass mongo Port 27017 überwacht, ist dies OK Wenn nicht, schließen Sie die Konsole und erstellen Sie den Ordner c:\data\db und starten Sie mongod erneut

1
Monte Cristo

Zuerst müssen Sie den mongod -Server starten, danach müssen Sie in einem anderen Terminal mongo Shell starten.

Zum Starten des Mongo-Servers

1. Wenn Sie als Pfad Standardpfad (data/db) .__ angeben. einfach mongod im Terminal abgefeuert

2. Wenn Ihr Pfad nicht data/db ist, geben Sie den Befehl wie .__ ein. Folgen: mongod --dbpath 'hier kommt dein Weg'.

Zum Starten der Mongo-Shell Einfach mongo in einem anderen Terminal abgefeuert

Wenn Sie dieses auf Verbindungen auf Port 27017 warten, [], dann wurde Ihr Mongo erfolgreich gestartet.

Hoffe du kannst meinen Punkt verstehen

0
Naimish Kher

Schritte zur Behebung dieses Problems unter Windows OS:

  1. Löschen Sie die Datei mongod.lock aus C:\Programme\MongoDB\Server\4.0\data
  2. Klicken Sie auf mongod in C:\Programme\MongoDB\Server\4.0\bin
  3. Klicken Sie auf Mongo in C:\Programme\MongoDB\Server\4.0\bin , um die Mongodb-Shell zu starten
0
ashish naghate

wenn Sie die Installation mit Brew (unter OSX) durchführen, führen Sie zuerst Sudo mkdir /data/db aus. Starten Sie mongoDB Daemon, indem Sie mongod eingeben (lassen Sie es geöffnet). Führen Sie dann mongo aus, indem Sie mongo auf der neuen Registerkarte des Terminals eingeben

0
majid

MAC OS

Status überprüfen

brew services list

So etwas wie:

Name    Status  User Plist
mongodb stopped  

starten Sie es

brew services start mongodb

Versuchen Sie es erneut

mongo oder mongo --port 27017 

0
William Hu

Erstellen Sie einfach einen Ordner mit dem Namen "data" im Laufwerk C und erstellen Sie im Datenordner einen weiteren Ordner mit dem Namen "db". Dann mongod.exe ausführen :)

0
Rohan pawar

in meinem Fall unter Windows und Ubuntu musste ich den Ordner /data/db im Stammverzeichnis erstellen. In Ubuntu brauchte ich eine zusätzliche Option; Berechtigungen für Verzeichnis geben.

fenster

mkdir c:/data/db

ubuntu:

Sudo mkdir -p /data/db
Sudo chmod 700 /data/db

dann renne

Sudo service mongod start

prüfen

Sudo service mongod status

und dann rennen

mongo

Endlich habe ich das auf einfache Weise bekommen ..

Öffne das Terminal und gehe zum mongodb-Standort. In meinem Fall ist es so

e:\mongodb\bin> 

und geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste.

mongod --config e:\mongodb\mongo.config

Öffnen Sie ein anderes Terminal und starten Sie den Mongodb mit

mongo.exe

Das ist es .. Sie können Mongo verwenden 

0
Santhosh Kumar

Dies ist eine alte Frage, aber als Neuling hätte ich hinzugefügt, dass ich (mit Webstorm) den Mongo Explorer (Tab ganz rechts im Fenster) anklicken muss. Von dort:

-Klicken Sie auf Einstellungen .- Klicken Sie auf die Schaltfläche Durchsuchen (sieht aus wie eine Schaltfläche mit "..." darauf) .- Gehen Sie zu Programme> MongoDB> Server> 3.4> bin> mongo.exe anders als 3.4) - Klicken Sie anschließend auf das grüne Pluszeichen rechts. Ein Fenster wird geöffnet - Geben Sie einen Namen in "Label" ein. Klicken Sie auf "Übernehmen".

Sie sollten jetzt verbunden sein. Die Eingabe von "Mongod" im Terminal reicht nicht aus. Sie müssen auch die obigen Schritte ausführen.

Ich entschuldige mich im Voraus bei denen, die Webstorm nicht verwenden! Nicht sicher über die Schritte bei Verwendung anderer IDEs.

0
David Mitchell

Ich hatte den gleichen Fehler bei der Verbindung zu Mongo über AWS EC2. Dies wurde gelöst https://serverfault.com/a/347159/62381 Entfernen Sie den bind_ip aus der Konfigurationsdatei

0
blueskin

Diese Arbeit mich: -

In Mongo 3.2 für Windows sollten Sie den Mongodb-Dienst starten. Führen Sie den Command Prompt as Administrator aus, dann net start MongoDB

0
vineet

Ich hatte das gleiche Problem, um Mongodb nach der Installation mit Brew auf MacOS zu verbinden.

Das Problem war auch mongod.lock, aber bevor ich mongodb 3.6 installiert hatte und das Datenbankverzeichnis /usr/local/var/mongodb war und es alte Dateien und mongod.lock hat

Ganz einfach, ich habe meine alten Datenbankdateien in einen anderen Ordner verschoben und alles aus /usr/local/var/mongodb entfernt.

Dann neu gestartet:

brew services restart mongodb

Und es funktioniert jetzt gut.

0
Mandeep Gill

ich hatte dasselbe Problem, ich habe die Datei E:\Mongo Data Files\db\mongod.lock gelöscht. Das Problem ist auf ein nicht ordnungsgemäßes Herunterfahren des Servers zurückzuführen. Die Sperrdatei ist also nicht sauber.

0
usernaveen

wenn die oben genannte Lösung vielleicht nicht klappt, kann dies hilfreich sein. Irgendwann haben Sie möglicherweise über Vagrant-Boxen eine Verbindung zu Ihrer lokalen Mongodb-Datenbank hergestellt.

  1. vagrant up und dann ssh in deine vagrant maschine, in der du eine verbindung mit mongodb hergestellt hast (vagrant ssh vagrant_box_name)
  2. kommentieren Sie die bind_ip-Zeile aus /etc/mongod.conf mit # (Sudo nano /etc/mongod.conf)
  3. starten Sie Ihren Mongodb-Daemondienst neu (Sudo-Dienstmongod-Neustart) voila ...
0

Entfernen Sie die Datei mongod.lock. Und "mongod -repair" ausführen. Deinstallieren/Neuinstallieren des Mongod-Dienstes hat dieses Problem für mich behoben.

Vielen Dank.

0
Tun