web-dev-qa-db-ger.com

Was ist der richtige Weg, um einen Mongod-Dienst unter Linux/OS X zu starten?

Ich habe mongodb installiert und war in der Lage, es auszuführen, damit zu arbeiten, einfache DB-Lese-/Schreibvorgänge auszuführen. Jetzt versuche ich, meinen Mac so einzurichten, dass Mongod als Dienst ausgeführt wird.

Ich erhalte "Befehl nicht gefunden" als Antwort auf: 

 init mongod start

Als Antwort auf: 

~: service mongod start
service: This command still works, but it is deprecated. Please use launchctl(8) instead.
service: failed to start the 'mongod' service

Und wenn ich es versuche:

~: launchctl start mongod
launchctl start error: No such process

Also bin ich offensichtlich ein bisschen herumgeirrt. Der nächste Schritt scheint darin zu sein, zufällige Zeichen einzugeben, bis etwas funktioniert. Der Befehl was funktioniert Arbeit ist: mongod --quiet & Ich bin mir nicht sicher, vielleicht sollten Sie es so machen? Vielleicht sollte ich einfach den "stillen Modus" entfernen und am Ende der Befehlszeile > /logs/mongo.log hinzufügen?

Ich baue eine Entwicklungsumgebung auf einem Mac, um auf einem Linux-Server dasselbe zu tun. Ich bin mir der Bash-Befehle einfach nicht sicher. Alle anderen Suchanfragen, die ich beim Versuch, die Antwort zu finden, ausführen, geben mir Ratschläge für Windows-Maschinen. 

Vielleicht kennt jemand die Linux-Version der Befehle?

Vielen Dank

127
Alex C

Mit den neuesten Builds der Mongodb Community Edition ist dies unkompliziert.

Bei der Installation über Brühen erfahren Sie, was genau zu tun ist. Es ist nicht erforderlich, eine neue Startsteuerungsdatei zu erstellen.

$ brew install mongodb
==> Downloading https://homebrew.bintray.com/bottles/mongodb-3.0.6.yosemite.bottle.tar.gz ### 100.0%
==> Pouring mongodb-3.0.6.yosemite.bottle.tar.gz
==> Caveats
To have launchd start mongodb at login:
  ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
????  /usr/local/Cellar/mongodb/3.0.6: 17 files, 159M
126

Edit: Du solltest jetzt brew services start mongodb verwenden, wie in Gergos Antwort ...

Wenn Sie mongodb installieren/aktualisieren, sagt brew, was zu tun ist:

Starten Sie mongodb beim Login:

    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents

Dann mongodb jetzt laden:

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

Wenn Sie launchctl nicht wollen/brauchen, können Sie einfach Folgendes ausführen:

    mongod

Es funktioniert perfekt.

150
Mario Alemi

Die services - Option von Homebrew integriert Formeln in den launchctl-Manager. Das Hinzufügen ist einfach:

brew tap homebrew/services

Sie können MongoDB dann mit diesem Befehl starten (dies startet auch beim Booten von mongodb):

brew services start mongodb

Sie können auch stop oder restart verwenden:

brew services stop mongodb
brew services restart mongodb
69
Gergo Erdosi

Wenn Sie eine einfache GUI haben möchten, um das Problem zu beheben (wie ich), kann ich das Präferenzfenster mongodb empfehlen. Beschreibung: http://blog.mongodb.org/post/28925264384/macosx-preferences-pane-for-mongodb

Auf github: https://github.com/remysaissy/mongodb-macosx-prefspane

14
koffster

Ich habe gerade MongoDB über Homebrew installiert. Am Ende der Installationskonsole sehen Sie eine Ausgabe wie folgt:

Mongodb starten:

brew services start mongodb

Oder wenn Sie keinen Hintergrunddienst wollen/brauchen, können Sie einfach Folgendes ausführen:

mongod --config /usr/local/etc/mongod.conf

Also, Brew Services starten mongodb , hat es geschafft, MongoDB als Service für mich auszuführen.

3
Ardi Bello

Ich habe mich ein bisschen auf der Mac-Seite umgesehen. Sie können das Installationsprogramm here verwenden, da es so aussieht, als ob es alle Einstellungen für den automatischen Start unter Mac OS ausführt. Der einzige Nachteil ist, dass es aussieht, als würde es eine ziemlich alte Mongo-Version verwenden. 

Dieser Link hier erklärt auch das Setup, damit der Mongo automatisch als Hintergrunddienst auf dem Mac gestartet wird.

2
Scott

mongod funktionierte nicht, um den Dämon für mich zu starten, aber nachdem ich folgendes ausgeführt hatte, fing es an zu arbeiten:

'mongod --fork --logpath /var/log/mongodb.log'

(von hier: https://docs.mongodb.com/manual/tutorial/manage-mongodb-processes/ )

0
briami

mongod --dbpath [path_to_data_directory]

0

Auf MacOS 10.13.6 mit MongoDB 4.0

Ich konnte von der Mongo-Shell keine Verbindung zu localhost herstellen

Ich habe mit MongoDB angefangen mit:

mongod --config /usr/local/etc/mongod.conf

Ich fand, dass die 'mongod.conf' Folgendes hatte:

bindIp: 127.0.0.1

Ändern Sie meine JavaScript-Verbindung von localhost in 127.0.0.1 und es hat gut funktioniert. 

Das gleiche geschah auch mit MongoDB Compass. 

0
NOTiFY

Erster Schritt

installieren Sie mongodb in Ihrer Linux-Maschine mit 

apt install mongodb-client & & apt install mongodb-server

der zweite Schritt ist

Ändern Sie den Datenbankpfad anstelle des Standardpfads Ihres Systems, wenn Sie möchten .
führen Sie die folgenden Schritte aus und ändern Sie es für sich.

mongod --directoryperdb --dbpath /var/lib/mongodb/data/db --logpath /var/lib/mongodb/log/mongodb.log --logappend --rest

und in Ihrem Windows-Rechner machen Sie es einfach so - setzen Sie einfach ein --install-Flag. Sie müssen eine erfolgreiche Nachricht erhalten.

Freundliche Grüße...

0
MehdiPRG