Ich befolge alle Schritte, die in der mongodb Installation Dokumentation erwähnt werden.
für Ubuntu 16.04
schritt 1:
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
schritt 2:
echo "deb [ Arch=AMD64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
schritt 3:
Sudo apt-get update
schritt 4:
Sudo apt-get install -y mongodb-org
schritt 5:
Sudo service mongod start
als ich anfing, bekam mongodb einen fehler als
"Failed to start mongod.service: Unit mongod.service not found." please help me to solve this.
Wahrscheinlich ist die Einheit mongodb.service maskiert. Verwenden Sie den folgenden Befehl, um es zu demaskieren.
Sudo systemctl unmask mongodb
und erneut ausführen
Sudo service mongod start
Bitte folgen Sie den nachstehenden Schritten, es sollte funktionieren.
1 - Deinstalliere die aktuelle Installation vollständig
Quelle - offizielle Anweisungen
Sudo service mongod stop
Pakete entfernen
Sudo apt-get purge mongodb-org*
Entfernen Sie die Ordner
Sudo rm -r /var/log/mongodb
Sudo rm -r /var/lib/mongodb
2 - Neuinstallation wie auf der offiziellen Website beschrieben, ich werde nur alle Schritte aufschreiben. Linkbeschreibung hier eingeben
Importieren Sie den öffentlichen Schlüssel
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Erstellen Sie eine Listendatei für Ubuntu 16.04
echo "deb [ Arch=AMD64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
aktualisieren Sie die Liste
Sudo apt-get update
Installieren Sie das neueste Paket
Sudo apt-get install -y mongodb-org
3 - Nun sollte es funktionieren, bitte probieren Sie den folgenden Befehl
Sudo service mongod start
und überprüfen Sie den Status
mongo
es sollte die Mongo Shell erscheinen
Fehler beim Start von mongod.service: Einheit mongod.service nicht gefunden
Wenn Sie dem offiziellen Dokument folgen und der obige Fehler auftritt, bedeutet dies, dass mongod.service auf Ihrem Computer noch nicht aktiviert ist (ich spreche von Ubuntu 16.04). Sie müssen dies mit folgendem Befehl tun
Sudo systemctl enable mongod.service
Nun können Sie mongodb mit dem folgenden Befehl starten
Sudo service mongod start
Sie vermissen ein "b", denke ich?
Sudo service mongod start
sollte sein
Sudo service mongodb start
Ich denke das ist der fall
Versuchen Sie es einfach mit diesem Befehl:
$ Sudo systemctl enable mongod
[Lösung]
Schreib einfach
Sudo mongod
Es wird klappen.
$service mongodb start
$service mongodb status
der Status ist aktiv, wenn ich den obigen Befehl verwendet habe
Möglicherweise verwenden Sie eine falsche Version der Mongodb-Listendatei. Ich bin mit diesem Problem konfrontiert, aber es ist mein Fehler, wenn ich nicht die richtige Listendatei für Ubuntu 16.04 auswähle. Die Standardeinstellung ist für Ubuntu 14.04 und ist der Grund für meinen Fehler: "Fehler beim Starten von mongod.service: Einheit mongod.service nicht gefunden."
Ich habe den gleichen Fehler für eine lange Zeit bekommen, habe fast alle Installationsversuche auf Google versucht, konnte aber die Antwort nicht finden ...
Ich folgte den Anweisungen von https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ , aber erhalte weiterhin den Fehler. Fehler beim Start von mongod.service: Einheit mongod.service nicht gefunden
Ich habe zuerst installiert mit: Sudo apt-get install -y mongodb-org .__ Dann bemerkte ich, dass ich ausgeführt habe:
$ Sudo apt-get install -y mongodb-org
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
mongodb-org-mongos mongodb-org-Shell mongodb-org-tools
The following NEW packages will be installed
mongodb-org mongodb-org-mongos mongodb-org-Shell mongodb-org-tools
0 to upgrade, 4 to newly install, 0 to remove and 46 not to upgrade.
Need to get 0 B/40.1 MB of archives.
After this operation, 178 MB of additional disk space will be used.
Selecting previously unselected package mongodb-org-Shell.
(Reading database ... 379307 files and directories currently installed.)
Preparing to unpack .../mongodb-org-Shell_4.0.3_AMD64.deb ...
Unpacking mongodb-org-Shell (4.0.3) ...
Selecting previously unselected package mongodb-org-mongos.
Preparing to unpack .../mongodb-org-mongos_4.0.3_AMD64.deb ...
Unpacking mongodb-org-mongos (4.0.3) ...
Selecting previously unselected package mongodb-org-tools.
Preparing to unpack .../mongodb-org-tools_4.0.3_AMD64.deb ...
Unpacking mongodb-org-tools (4.0.3) ...
Preparing to unpack .../mongodb-org_4.0.3_AMD64.deb ...
Unpacking mongodb-org (4.0.3) ...
Setting up mongodb-org-Shell (4.0.3) ...
Setting up mongodb-org-mongos (4.0.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up mongodb-org-tools (4.0.3) ...
Setting up mongodb-org (4.0.3) ...
$ mongod --version
db version v2.6.12
2018-10-26T12:03:12.362+0200 git version: d73c92b1c85703828b55c2916a5dd4ad46535f6a
Die db-Version war 2.6.12 anstelle der neuesten Version 4.0.3 . Stellen Sie also sicher, dass mongodb-org-server nicht bereits installiert ist. Wenn ja, stellen Sie sicher, dass Sie Ihre Zielversion aktualisieren (wie @ https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ -> Schritt 4 - Installieren Sie eine bestimmte Version von MongoDB.)
zielversion = 4.0.3
Sudo apt-get install -y mongodb-org = Zielversion mongodb-org-server = Zielversion mongodb-org-Shell = Zielversion mongodb-org-mongos = Zielversion mongodb-org-tools = Zielversion
$ Sudo apt-get install -y mongodb-org=4.0.3 mongodb-org-server=4.0.3 mongodb-org-Shell=4.0.3 mongodb-org-mongos=4.0.3 mongodb-org-tools=4.0.3
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed
mongodb-org mongodb-org-mongos mongodb-org-Shell mongodb-org-tools
The following packages will be upgraded:
mongodb-org-server
1 to upgrade, 4 to newly install, 0 to remove and 45 not to upgrade.
Need to get 15.7 MB/55.8 MB of archives.
After this operation, 217 MB of additional disk space will be used.
Get:1 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0/multiverse AMD64 mongodb-org-server AMD64 4.0.3 [15.7 MB]
Fetched 15.7 MB in 2s (6,289 kB/s)
Selecting previously unselected package mongodb-org-Shell.
(Reading database ... 379306 files and directories currently installed.)
Preparing to unpack .../mongodb-org-Shell_4.0.3_AMD64.deb ...
Unpacking mongodb-org-Shell (4.0.3) ...
**Preparing to unpack .../mongodb-org-server_4.0.3_AMD64.deb ...
Failed to stop mongod.service: Unit mongod.service not loaded.
invoke-rc.d: initscript mongod, action "stop" failed.
dpkg: warning: old mongodb-org-server package pre-removal script subprocess returned error exit status 5
dpkg: trying script from the new package instead ...
dpkg: ... it looks like that went OK
Unpacking mongodb-org-server (4.0.3) over (2.6.12) ...**
Selecting previously unselected package mongodb-org-mongos.
Preparing to unpack .../mongodb-org-mongos_4.0.3_AMD64.deb ...
Unpacking mongodb-org-mongos (4.0.3) ...
Selecting previously unselected package mongodb-org-tools.
Preparing to unpack .../mongodb-org-tools_4.0.3_AMD64.deb ...
Unpacking mongodb-org-tools (4.0.3) ...
Preparing to unpack .../mongodb-org_4.0.3_AMD64.deb ...
Unpacking mongodb-org (4.0.3) ...
Processing triggers for ureadahead (0.100.0-20) ...
Setting up mongodb-org-Shell (4.0.3) ...
Setting up mongodb-org-mongos (4.0.3) ...
Processing triggers for systemd (237-3ubuntu10.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Setting up mongodb-org-tools (4.0.3) ...
Setting up mongodb-org-server (4.0.3) ...
Installing new version of config file /etc/mongod.conf ...
Setting up mongodb-org (4.0.3) ...
und danach funktioniert alles für mich: D
Befolgen Sie einfach die folgenden Befehle. Das hat bei mir geklappt.
Deinstalliere deinen Mongo komplett von deinem System:
Sudo service mongod stop
Sudo apt-get purge mongodb-org
Sudo rm -r /var/log/mongodb
Sudo rm -r /var/lib/mongodb
Installieren Sie nun mongodb mit folgenden Befehlen neu:
Sudo apt update
Sudo apt install -y mongodb**
Hinweis: Der Datenbankserver wird nach der Installation automatisch gestartet.
Vergewissern Sie sich als Nächstes, dass der Server ausgeführt wird und ordnungsgemäß funktioniert.
Sudo systemctl status mongodb
Sie werden diese Ausgabe sehen:
mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-05-26 07:48:04 UTC; 2min 17s ago
Docs: man:mongod(1)
Main PID: 2312 (mongod)
Tasks: 23 (limit: 1153)
CGroup: /system.slice/mongodb.service
└─2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf**
Ich bin gerade auf meinem Papageien-Betriebssystem darauf gestoßen, und so habe ich es gelöst.
Sudo service mongodb start
Um das Problem zu lösen, dass mongodb nicht unter ubuntu 16.04 gestartet werden kann, __. 1) Sehen Sie sich die mongodb-Protokolldatei an
2) Wir stellen fest, dass der Fehler auf "Fehler beim Aufheben der Verknüpfung der Socket-Datei/tmp/mongodb-27017" zurückzuführen ist.
3) Sehen Sie sich die Erlaubnis der Datei /tmp/mongdb-27017.lock an und stellen Sie fest, dass der Besitzer root anstelle von mongodb ist
4) Löschen Sie die Datei /tmp/mongodb-27017.sock manuell und verwenden Sie den Befehl "Sudo chown mongodb: mongodb/tmp/mongodb *"
5) Starten Sie den Dienst mit systemcl und überprüfen Sie mit netstat, ob mongdob an Port 27017 gestartet wurde
Kredit: https://www.mkyong.com/mongodb/mongodb-failed-to-unlink-socket-file-tmpmongodb-27017/https://hevodata.com/blog/install -mongodb-on-ubuntu/
Beachten Sie, dass bei Verwendung des Windows-Subsystems für Linux systemd nicht unterstützt wird und Befehle wie systemctl
nicht funktionieren:
Verbindung zum Bus fehlgeschlagen: Keine solche Datei oder Verzeichnis
Siehe Blocker für systemd? # 994 auf GitHub, Microsoft/WSL.
Der Mongo-Server kann natürlich weiterhin manuell über mondgod
gestartet werden.
In einigen Fällen wurde die Einheit aus Sicherheitsgründen als maskiert markiert. Dies ist ein Zustand, in dem Sie den Dienst nicht einmal manuell starten können.
um dies zu überprüfen, führen Sie den folgenden Befehl aus:
systemctl list-unit-files | grep mongod
wenn Sie so etwas herausfinden:
mongod.service masked
dann können Sie die Einheit demaskieren, indem Sie:
Sudo systemctl unmask mongod
dann möchten Sie vielleicht den Dienst starten:
Sudo systemctl start mongod
und um den automatischen Start während des Systemstarts zu aktivieren:
Sudo systemctl enable mongod
Wenn Mongodb jedoch nicht erneut gestartet wurde oder überhaupt nicht maskiert wurde, haben Sie die Möglichkeit, es auf folgende Weise neu zu installieren:
Sudo apt-get --purge mongo*
Sudo apt-get install mongodb-org
danke an @ jehanzeb-malik
Die folgenden Schritte haben mir geholfen, das Problem zu lösen, dass Mongodb unter Ubuntu Server 18.04 LTS nicht gestartet werden kann
Schritt 1: Entfernen Sie zuerst MongoDB von der vorherigen Version, falls installiert:
Sudo apt remove --autoremove mongodb-org
Schritt 2: Entfernen Sie alle Mongodb-Repo-Listendateien:
Sudo rm /etc/apt/sources.list.d/mongodb*.list
Sudo apt update
Schritt 3: Importieren Sie den vom Paketverwaltungssystem verwendeten öffentlichen Schlüssel:
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Schritt 4: Erstellen Sie eine Listendatei für MongoDB:
echo "deb [ Arch=AMD64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | Sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Schritt 5: Lokale Paketdatenbank neu laden:
Sudo apt-get update
Schritt 6: Installieren Sie die MongoDB-Pakete:
Sudo apt-get install -y mongodb-org
Schritt 7: MongoDB starten:
Sudo service mongod start
Schritt 8: Beginnen Sie mit MongoDB:
mongo
Hoffe es hilft dir.
Für Ubuntu 16.04.5 wurde festgestellt, dass MongoDB-Installationen die mongod.service-Datei nach der Installation in meinem Fall nach der Installation auf mehreren Servern nicht automatisch aktivieren. Daher müssen wir sie wie folgt aktivieren:
Das folgende Problem zeigt, ob der Mongod aktiviert ist
systemctl list-unit-files --type=service
Wenn es als "deaktiviert" angezeigt wird, müssen Sie es aktivieren.
Sudo systemctl enable mongod.service
Wenn Sie sehen möchten, ob die Datei mongod.service vorhanden ist, falls diese Datei fehlt, checken Sie ein
ls /lib/systemd/system
Sie sehen eine Datei
/lib/systemd/system/mongod.service