Ich habe kürzlich mongodb-2.6.0 mit Homebrew installiert . Nach erfolgreicher Installation habe ich versucht, eine Verbindung mit dem mongo
Befehl herzustellen. Ich erhalte die folgenden Fehler, bei denen ich keine Verbindung herstellen kann:
Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused
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
/var/logs/mongodb
wenn ich mich richtig erinnere.Antworten:
Dies kann passieren, wenn der Mongodb-Dienst nicht auf dem Mac ausgeführt wird. Um es zu starten, habe ich es versucht
und es hat funktioniert.
Bearbeiten: Laut der Diskussion über diese PR auf Homebrew: https://github.com/Homebrew/homebrew/issues/30628
brew services
ist veraltet, ich habe mich auf SO umgesehen und festgestellt, dass diese Antworten jetzt die Frage beantworten: Was ist der richtige Weg, um einen Mongod-Dienst unter Linux / OS X zu starten?quelle
sudo mongod
startete den Mongodb und dann funktionierte der Mongo-Befehl. Danke @Ali Raza Bhayani.Ich habe genau das gleiche Problem festgestellt und hier ist ein klarer Schritt-für-Schritt-Prozess, um diesen Fehler zu vermeiden.
Schritt 1 - Installation (Befolgen Sie diesen Schritt nicht, wenn Sie MongoDB bereits installiert haben):
Schritt 2 - Führen Sie Mongo Daemon aus:
Schritt 3 - Führen Sie die Mongo Shell-Schnittstelle aus:
In dieser Reihenfolge konnte ich den
mongo
Befehl fehlerfrei ausführen . Ich habe auch die Fehlerverfolgung und ihre Lösung in diesem Blog detailliert beschrieben .quelle
Um Ihr Problem zu lösen, müssen Sie die Anweisungen befolgen, die Sie dann von Brew erhalten, nachdem Sie "Brew Install Mongodb" verwendet haben.
So starten Sie mongodb beim Login:
Dann mongodb jetzt laden:
Wenn Sie launchctl nicht möchten / benötigen, können Sie einfach Folgendes ausführen:
Möglicherweise können Sie nur diesen letzten Befehl ausführen, aber er hat bei mir nicht funktioniert, und ich musste den zweiten Befehl ausführen. Um mich in Zukunft zu retten. Ich habe gerade auch den ersten Befehl ausgeführt. Hoffentlich hilft das!
EDIT Hrishis Verwendungsmethode
brew services mongodb start
hat mir gut getan. Ich denke, sie sollten dies in die Mongo-Dokumente aufnehmen.quelle
ctrl + c
und versuchen Sie esmongo
danach.In einer anderen Registerkarte können Sie die Mongo-Shell mit starten
Kehren Sie dann zur vorherigen Registerkarte zurück und versuchen Sie es erneut. Wenn Sie Probleme beim Einrichten Ihrer Mongoshell haben, überprüfen Sie diesen Link in der Mongo-Shell: http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/ oder diesen Link bei der Installation von Mongodb: http: / /docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
quelle
Ich hatte das gleiche Problem, als ich über
mongod
die Befehlszeile anrief .Ich habe das gelöst, indem ich stattdessen angerufen habe
sudo mongod
.quelle
Ich hatte den gleichen Fehler, aber eine andere Grundursache. Ich dachte, ich würde die Lösung hier posten, falls jemand anderes auf das Problem stößt. Ich habe diesen Fehler erhalten, nachdem mein Mac während des Betriebs nicht ordnungsgemäß heruntergefahren wurde
mongorestore -d foo dump/foo/
.tl; dr : Ich reparierte das Problem , indem die beschädigte Entfernen
foo.ns
Datei zusammen mitfoo.0
,foo.1
, ... aus meinen Datenordnern/usr/local/var/mongodb/
. Dann habe ich den Mongo Server mit neu gestartetbrew services restart mongodb
und war wieder normal.Details : Ich habe den Fehler auch nach dem Versuch, den Mongodb-Dienst über Brew oder Launchctl zu starten oder neu zu starten, immer wieder erhalten. Schließlich lief ich
mongod --dbpath /usr/local/var/mongodb
und sah, dass der Dienst nicht tatsächlich gestartet wurde, und die Startsequenz enthielt den folgenden Fehler:[initandlisten] bad .ns file: /usr/local/var/mongodb/foo.ns [initandlisten] User Assertion: 10079:bad .ns file length, cannot open database
Ich habe die fehlerhafte.ns
Datei und den Rest der Datendateien entfernt, und als ich den Dienst das nächste Mal startete, konnte ich loslegen .quelle
Für mich auf OSX musste ich die alte laufende Instanz beenden, dann funktionierte der Neustart.
quelle
Ich habe diesen Fehler erhalten, nachdem ich mit Homebrew auf Mongo 3.6 aktualisiert habe.
Das Protokoll
/usr/local/var/log/mongodb/mongo.log
enthielt die Nachrichtshutting down with code:62
. Dieser Fehlercode bedeutet, dass die vorhandene Datenbank zu alt ist, um mit der aktuellen Version von mongo ausgeführt zu werden.Ich habe 2 Lösungen in einer anderen SO-Frage gefunden :
/usr/local/var/mongodb
)Ich habe mich für ein Upgrade entschieden. In meinem Fall bedeutete dies, dass ich ein Downgrade auf 3.4 durchführen, einen Befehl in der Mongo-Konsole ausführen und dann erneut ein Upgrade durchführen musste. Bei Mongo müssen Sie jeweils eine Hauptversion aktualisieren. Je nachdem, wie weit Sie zurückliegen, können zusätzliche Schritte erforderlich sein. Die Dokumente werden Sie führen.
Die Befehle
brew switch
* undbrew services restart
machten das Wechseln zwischen Versionen relativ schmerzlos.quelle
Für alle, die hier nach einer Antwort suchen, nachdem Ihr Mac auf OS Catalina aktualisiert wurde
Lauf
Weitere Informationen finden Sie hier: https://medium.com/@semmons245/arghhhh-thanks-to-the-catalina-os-update-this-now-needs-changing-987f416ebcbe
quelle
Wenn Sie MongoDB bereits installiert haben, versuchen Sie zuerst, mongod als sudo-Benutzer auszuführen. Ich hatte das Problem, weil mongod nicht als Superuser ausgeführt wurde.
Ich habe das O / P für beide Befehle ( Mongod und Sudo Mongod ) ganz unten eingefügt , das können Sie aber auch überprüfen
Versuchen Sie dies zuerst
nicht das
Ich hatte MongoDB auf meinem MAC OS X Sierra 10.12.6 installiert, indem ich den folgenden Befehl nacheinander ausgeführt habe.
Anschließend wurde ein Verzeichnis erstellt, in das der Mongod-Prozess die Daten schreibt. Dies ist optional, da der Mongod-Prozess dies standardmäßig übernimmt. Weitere Informationen finden Sie in diesem nützlichen Handbuch unter https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os -x /
Schließlich begann der Mongod- Prozess wie folgt
Ausgabe von mongod (fehlgeschlagen) und sudo mongod (erfolgreich) auf meinem Terminal.
Dann habe ich ein neues Terminal geöffnet, um die MongoDB abzufragen . Es hat funktioniert.
Das ist es.
quelle
Ich hatte das gleiche Problem und als ich in die Protokolldatei schaute, sah ich Folgendes:
/usr/local/var/mongodb
Also habe ich das Verzeichnis erstellt, in dem der Befehl "Brew Services Restart Mongodb" ausgegeben wurde. Ich konnte die Mongo-Konsole öffnen.quelle
Mongo
quelle
Mein ähnlicher Fehler wird behoben, indem die Datei "sudo rm /data/db/mongod.lock" gelöscht wird, während versucht wird, mongod auszuführen. Jetzt kannst du Mongod und dann Mongo laufen lassen.
quelle