Ich habe heute auf MacOS 10.15 (Catalina) aktualisiert. Wenn ich mongod
im Terminal laufe , kann es das /data/db
Verzeichnis nicht finden :
➜ /Users/william > mongod
2019-10-08T17:02:44.183+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] MongoDB starting : pid=43162 port=27017 dbpath=/data/db 64-bit host=Williams-MacBook-Pro-6.local
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] db version v4.0.3
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] allocator: system
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] modules: none
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] build environment:
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] distarch: x86_64
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] target_arch: x86_64
2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] options: {}
2019-10-08T17:02:44.211+0800 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating
2019-10-08T17:02:44.211+0800 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2019-10-08T17:02:44.211+0800 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2019-10-08T17:02:44.211+0800 I CONTROL [initandlisten] now exiting
2019-10-08T17:02:44.211+0800 I CONTROL [initandlisten] shutting down with code:100
➜ /Users/william >
Ich habe versucht, MongoDB zu installieren mit brew
:
brew install mongodb
➜ /Users/william > brew install mongodb
Updating Homebrew...
Error: mongodb: unknown version :mountain_lion
Irgendeine Hilfe?
mongodb --dbpath ...
nurmongod
Bash eingeben möchten , können Sie einen Alias wie verwendenalias mongod='mongod --dbpath ...'
und diesen Alias in Ihren Code einfügenbashrc
. Es ist nicht die sauberste Lösung, aber es könnte für Ihre Zwecke funktionieren.zsh
oder eine andere Shell, müssen Sie den Alias unter die RC-Datei dieser Shell setzen. Dennzsh
es ist~/.zshrc
. Stellen Sie sicher, dass Sie auch beim Erstellen von Aliasen die Syntax der Shell befolgen.Nach der Installation von Catalina befindet sich möglicherweise ein Ordner auf Ihrem Desktop mit dem Namen
Relocated Items
. Sie finden dendata/db
Ordner imSecurity
Ordner.Alles was ich tun musste war das zu bewegen
Security/data/db
, spezielldata/db
und legen Sie sie in meinem Home - Ordner.Sie können dies mit der Finder-App oder mit dem Terminal tun, indem Sie den folgenden Befehl ausführen:
Nach diesem Lauf:
mongod --dbpath ~/data/db
Es liegt an Ihnen, den Alias früher zu erstellen
quelle
Kevinadi wurde der Frage bereits gerecht, aber so habe ich das Problem gelöst:
Nach der Installation von Mongodb-Community
sudo mkdir -p /System/Volumes/Data/data/db
(Erstellen Sie den Ordner data / db)sudo chown -R
id -un/System/Volumes/Data/data/db
(Berechtigungen geben)mongod --dbpath=/System/Volumes/Data/data/db
(Ändern Sie den Datenbankpfad von Mongodb)mongod
(Läuft gut)Ich fand diesen Artikel über die Installation von Mongodb sehr nützlich
quelle
habe einen Trick gefunden ... lösche den gesamten Ordner ~ / data / db aus dem Verzeichnis und erstelle dann einen neuen. Verwende aber NICHT mkdir -p / data / db. Benutze einfach dein Trackpad , um einen Ordner auf systematische Weise zu erstellen
das hat bei mir funktioniert
quelle
Folgendes hat bei mir funktioniert:
quelle
Dieses Skript kann hilfreich sein https://gist.github.com/sturmenta/cf19baa91b1d79d8ae2b305fb7e1f799
🤙🏻🤙🏻🤙🏻
quelle
Mac-Version Catalina hat den Stammordner nicht mehr beschreibbar gemacht.
Brew hat eine aktualisierte Version von mongodb, um einen neuen Pfad zu verwenden (den es selbst erstellt). Das Befolgen
/usr/local/var/mongodb
dieser Anweisungen behebt das Problem:Anleitung zur Installation der aktualisierten Mongodb-Community-Edition
brew install mongodb-community@VERSION
wobei die erste VERSION mit dem Fix 4.2 istquelle
/data/db
unabhängig von der Konfiguration standardmäßig verwendet .