MongoDB unter OSX installieren und ausführen

76

Wenn jemand hier einige Einblicke geben kann, würde ich es sehr schätzen.

Ich bin neu in MongoDB und (relativ) neu in der Befehlszeile.

Ich hatte eine express / node.js-App, die lokal erfolgreich auf MongoDB ausgeführt wurde, aber beim Neustart meines Computers habe ich versucht, den Mongo-Server neu zu starten, und es gab Fehler und wurde nicht gestartet. Seitdem habe ich Mongo mehrmals neu installiert, nur um den gleichen Fehler zu finden. das erhalte ich:

privee:mongodb-osx-x86_64-2.4.6 jonlinton$ ./bin/mongo
MongoDB shell version: 2.4.6
connecting to: test
Mon Aug 26 14:48:47.168 Error: couldn't connect to server 127.0.0.1:27017 at     src/mongo/shell/mongo.js:145
exception: connect failed

Vermisse ich einen Schritt? Sollte ich eine Konfigurationsdatei erstellen? Einige grundlegende Anleitungen wären sehr hilfreich. Vielen Dank im Voraus für alle Einblicke.

user2517788
quelle
Sie müssen Ihren Mongo Server ausführen, nicht Mongo Shell. Dies ist der Fehler von Mongo Shell, der nur besagt, dass der Server nicht ausgeführt wird. Versuchen Sie, den Server auszuführen, und fügen Sie den Fehler hier ein.
Kousha
Ich bin gerade gelaufen ./bin/mongodund es hat funktioniert. Startet ./bin/mongodder Server zum erneuten Iterieren ? Wie starte ich die Shell?
user2517788
mongod== der Datenbankserver, mongo== interaktive Shell
WiredPrairie
Dies ( docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x ) behandelt die Einrichtung und Verwendung der Shell.
WiredPrairie
@ user2517788 Gern geschehen.
Kousha

Antworten:

56

Angenommen, Sie haben nach der Installation das Verzeichnis data / db unter bin erstellt.

  1. Starten Sie ein Terminal für Ihren Mongo-Server
  2. Zum <mongodb-install-directory>/binVerzeichnis gehen
  3. Führen Sie den Befehl aus

    ./mongod

  4. Starten Sie ein Terminal für Ihre Mongo-Shell

  5. Zum <mongodb-install-directory>/binVerzeichnis gehen
  6. Führen Sie den Befehl aus (stellen Sie sicher, dass Sie den Namen der Datenbank eingeben).

    ./mongo Test

Jesus Ruiz
quelle
13
Wo ist das Mongo / Bin-Verzeichnis?
Elliotrock
6
@elliotrock welcher Mongod sollte Ihnen den Ort geben
Nabin
Verwendung, ./mongod -f ~/path/to/mongod.confda MongoDB keine Konfigurationsdatei verwendet, es sei denn, Sie weisen dies an.
Jack
166

Wenn Sie mongodb through installiert haben, können Sie mongodb through homebreweinfach starten

brew services start mongodb

Greifen Sie dann auf die Shell zu

mongo

Sie können Ihre Datenbank durch herunterfahren

brew services stop mongodb

Sie können Ihre Datenbank durch neu starten

brew services restart mongodb

Für mehr Optionen

brew info mongodb
gaurav.singharoy
quelle
56

Aktualisierte Antwort (02.09.2019):

Homebrew hat die Mongodb-Formel aus seinem Kern-Repository entfernt. Siehe diese Pull-Anfrage .

Die neue Möglichkeit, Mongodb mit Homebrew zu installieren, lautet wie folgt:

~> brew tap mongodb/brew
~> brew install mongodb-community

Nach der Installation können Sie den Mongodb-Dienst starten, indem Sie die folgenden Vorsichtsmaßnahmen beachten:

~> brew info mongodb-community
mongodb/brew/mongodb-community: stable 4.2.0
High-performance, schema-free, document-oriented database
https://www.mongodb.com/
Not installed
From: https://github.com/mongodb/homebrew-brew/blob/master/Formula/mongodb-community.rb
==> Caveats
To have launchd start mongodb/brew/mongodb-community now and restart at login:
  brew services start mongodb/brew/mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

Veraltete Antwort (27.08.2019):

Ich nehme an, Sie verwenden Homebrew. Sie können die zusätzlichen Informationen sehen, die Sie verwenden müssenbrew info $FORMULA

~> brew info mongo                                                           255
mongodb: stable 2.4.6, devel 2.5.1
http://www.mongodb.org/
/usr/local/Cellar/mongodb/2.4.5-x86_64 (20 files, 287M) *
  Built from source
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mongodb.rb
==> Caveats
To reload mongodb after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

Vorsichtsmaßnahmen müssen Sie nach der Installation beachten.

Rix
quelle
18

Das Problem hier ist, dass Sie versuchen, eine Mongo-Shell zu öffnen, ohne eine Mongo-Datenbank zu starten, die Port 127.0.0.1:27017 abhört (Fehler für Mongo-Datenbank). Darum geht es bei dem Fehler:

Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 exception: connect failed

Die einfachste Lösung besteht darin, das Terminal zu öffnen und zu tippen

$ mongod --dbpath ~/data/db

Hinweis: dbpath ist hier "Benutzer / Benutzer", in dem Daten- / Datenbankverzeichnisse erstellt werden

dh, müssen Sie Verzeichnis erstellen Daten und Unterverzeichnis db in Ihrem Benutzerordner. Zum Beispiel sagen `

/ Benutzer / Johnny / Daten

Nach mongo ist db auf. Öffnen Sie ein anderes Terminal in einem neuen Fenster und geben Sie ein

$ mongo

Die Mongo-Shell wird geöffnet, und Ihre Mongo-Datenbankverbindung wird in einem anderen Terminal geöffnet.

secretgenes
quelle
5

Außerdem möchten Sie möglicherweise, dass Mongo auf einem anderen Port ausgeführt wird, und fügen Sie diesen Befehl dann in das Terminal ein.

mongod --dbpath /data/db/ --port 27018

wo 27.018 der Hafen wollen wir Mongo laufen auf

Annahmen

  1. mongod ist in Ihrem bin vorhanden, dh /usr/local/bin/für mac (was wäre, wenn Sie mit brown installiert hätten), andernfalls müssten Sie zu dem Pfad navigieren, in dem mongo installiert ist
  2. Der Ordner /data/db/existiert
Edwin O.
quelle
5

Mac-Installation:

  1. Gebräu installieren

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. Aktualisieren und überprüfen Sie, ob Sie gut darin sind

    brew update
    brew doctor
    
  3. Installieren Sie mongodb mit

    brew install mongodb
    
  4. Ordner für Mongo-Datendateien erstellen:

    mkdir -p /data/db
    
  5. Berechtigungen festlegen

    sudo chown -R `id -un` /data/db
    
  6. Öffnen Sie ein anderes Terminalfenster und führen Sie einen Mongo-Server / Daemon aus

    mongod
    
  7. Kehren Sie zum vorherigen Terminal zurück und führen Sie eine Mongodb-Shell aus, um auf Daten zuzugreifen

    mongo
    

Um diese später zu beenden:

  1. Die Muschel:

    quit()
    
  2. Der Kellner

    ctrl-c
    
jasonleonhard
quelle
4
mongo => mongo-db console
mongodb => mongo-db server

Wenn Sie auf einem Mac arbeiten und nach einer einfacheren Möglichkeit suchen, Ihren Mongo-DB-Server zu starten / zu stoppen , sollten Sie sich das MongoDB-Einstellungsfenster ansehen. Damit starten / stoppen Sie Ihre Mongo-DB-Instanz über die Benutzeroberfläche. Ich hoffe es hilft!

karthiks
quelle
3

Stellen Sie sicher, dass Sie als Root-Benutzer in Ihrem Terminal angemeldet sind.

Schritte zum Starten des Mongodb-Servers auf Ihrem Mac

  1. Terminal öffnen
  2. Führen Sie den Befehl aus sudo su
  3. Geben Sie Ihr Administratorkennwort ein
  4. Führen Sie den Befehl aus mongod
  5. MongoDb Server wird gestartet

Hoffe es hilft dir. Vielen Dank

Piyush Bansal
quelle
3

Für diejenigen, die möglicherweise mit demselben Problem konfrontiert sind und die oben vorgeschlagenen Lösungen nicht funktionieren. In meinem Fall hatte ich beispielsweise die Mongodb-Community installiert. Sie können daher den folgenden Befehl ausführen, um Ihren Mongo-Server neu zu starten.

Für diejenigen, die Mongodb-Community mit Brew installiert haben

brew services start mongodb-community

Fahd Jamy
quelle