Gibt es eine Möglichkeit, es dauerhaft zu machen? Ich muss es jedes Mal eingeben, wenn ich den MongoDB-Server starte!
AV Paul
2
@AVPaul Vielleicht nicht die beste Lösung, aber Sie könnten einen Alias erstellen, der auf Ihren Pfad verweist.
DjangoBlockchain
1
@ JeffGoes Ich gehe davon aus, dass Sie den Benutzer nicht durch den tatsächlichen Namen ersetzt haben.
Aman
2
@AlexL Es funktioniert auch bei mir. Aber muss ich mongod --dbpath = / Users / my_USER_name / data / db jedes Mal eingeben, wenn ich meine dev mongo db ausführen möchte? Denn wenn ich das nächste Mal mongod starte, heißt es / data / db nicht gefunden
Shoeb Mirza
3
Sie können es dauerhaft machen, indem Sie den dbPath in der mongoDB-Konfigurationsdatei festlegen, wenn Sie einen Mac verwenden, der sich unter /usr/local/etc/mongod.conf befindet. Fügen Sie dann Folgendes hinzu: "storage: dbPath: path to your db directory"
Mit dem neuen macOS Catalina-Update wird der Ordner /data/dbschreibgeschützt. Sie können ihn nicht ändern. Gehen Sie folgendermaßen vor, um eine Datenbank in einem anderen Ordner zu erstellen:
mongodVerzeichnis wechseln :
sudo mongod --dbpath /System/Volumes/Data/data/db
Geben Sie ihm einen Alias, um es zu verwenden als mongod:
alias mongod="sudo mongod --dbpath /System/Volumes/Data/data/db"
Geben mongodSie einfach Ihr Terminal ein, es sollte funktionieren.
Extra => Wenn Sie ihm aktuelle Benutzerrechte geben müssen, verwenden Sie diese Codezeile:
Verschieben Sie Ihren alten Ordner / data / db (wenn Sie Ihre aktuelle Datenbank sichern möchten) in einen Nicht-Root-Ordner und fahren Sie mit dem nächsten Schritt fort
In Terminal a) brew uninstall mongodb
b) Bei Bedarf ausführen brew uninstall --force mongodb
c) brew tap mongodb/brew
d) brew install mongodb-community
e)brew services start mongodb/brew/mongodb-community
Jetzt müssen Sie nur noch mongo im Terminal ausführen und sehen das mongo-Shell-Symbol>.
Mit macOS Catalina hat Apple aus Sicherheitsgründen ein neues Volume erstellt. Wenn Sie mit macOS Catalina arbeiten, müssen Sie den /data/dbOrdner in erstellen System/Volumes/Data.
macOS Catalina läuft auf einem dedizierten, schreibgeschützten System-Volume. Dies bedeutet, dass es vollständig von allen anderen Daten getrennt ist und die Zuverlässigkeit von macOS verbessert.
Mit macOS Catalina können Sie weder Dateien oder Daten mehr auf dem schreibgeschützten Systemvolume speichern noch über die Befehlszeile in das "root" -Verzeichnis (/) schreiben, z. B. mit Terminal.
Könnte dieses Problem mit schreibgeschützten Dateien behoben werden? Ich habe das gleiche Problem
Zainab Hammami
2
Nein, Sie müssen einen anderen Namen für Ihr Verzeichnis verwenden. Eine mögliche Lösung könnte darin bestehen, das Datenverzeichnis in einem anderen Verzeichnis zu erstellen, das als Stammverzeichnis zulässig ist.
Jvarela
1
Ich tat dies:
mkdir -p usr/local/var/mongodb/data/db
seit dem neuen Pfad "usr / local / var / mongodb".
Ich bin ratlos, warum Apple das getan hat. Jetzt können wir also kein anderes Stammverzeichnis als das ihre haben? Dies macht einfach keinen Sinn und Leute, die mit Root-Rechten diese Ordner erstellen, wissen, was sie tun
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/mongodbdieser Anweisungen behebt das Problem:
Ich erstelle einen Kern mit einfachen Schritten, um Mongodb auf Catalina zu installieren und auszuführen
# install homebrew (https://brew.sh/) and run the following commands
sudo chown -R $(whoami) $(brew --prefix)/*
brew tap mongodb/brew
brew install [email protected]
## --- aliases to set in your zshrc file
# open your zshrc file
open ~/.zshrc
# copy and paste shorcuts in the end of the file
alias mongod='brew services run mongodb-community'
alias mongod-start='brew services start mongodb-community' #will start MongoDB automatically when you login into your Macbook
alias mongod-status='brew services list'
alias mongod-stop='brew services stop mongodb-community'
# restart your terminal
# type mongod in your terminal for run service & mongod-stop for finish it
# test your mongodb connection with
mongo
show dbs
Um das zu ergänzen, was David Buck hier geschrieben hat , müssen Sie zuerst das Verzeichnis erstellen. Sie können das tun mit:
sudo mkdir / System / Volumes / Daten / Daten / db
Wenn Sie diesen Fehler erhalten:
"Fehler beim Parsen der Befehlszeile: Nicht erkannte Option '--dbpath / System / Volumes / Data / data / db' versuchen Sie 'mongod --help' für weitere Informationen."
Nach dem Erstellen des Alias hat David Buck (während er einen wirklich hilfreichen Kommentar abgegeben hat) ein Leerzeichen in seiner Antwort verpasst.
Um dies zu beheben, geben Sie ein
unalias mongod
und geben Sie dann ein
alias mongod = "sudo mongod --dbpath / System / Volumes / Data / data / db"
Antworten:
Wenn Sie einen Mac haben und auf Catalina aktualisiert haben, ist der Stammordner nicht mehr beschreibbar.
Ich habe gerade das Verzeichnis woanders geändert.
Ich benutze diesen Befehl jetzt
mongod --dbpath=/Users/user/data/db
quelle
aus den offiziellen Dokumenten https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/
Installieren Sie Homebrew und führen Sie die folgenden Befehle aus
sudo chown -R $(whoami) $(brew --prefix)/*
dann
brew tap mongodb/brew
dann
brew install [email protected]
und
brew services start mongodb-community
oder
mongod --config /usr/local/etc/mongod.conf
dann
ps aux | grep -v grep | grep mongod
und
mongo
um zu überprüfen, ob Sie
show dbs
in der Mongo-Shell ausgeführt werden könnenquelle
Mit dem neuen macOS Catalina-Update wird der Ordner
/data/db
schreibgeschützt. Sie können ihn nicht ändern. Gehen Sie folgendermaßen vor, um eine Datenbank in einem anderen Ordner zu erstellen:mongod
Verzeichnis wechseln :sudo mongod --dbpath /System/Volumes/Data/data/db
Geben Sie ihm einen Alias, um es zu verwenden als
mongod
:alias mongod="sudo mongod --dbpath /System/Volumes/Data/data/db"
Geben
mongod
Sie einfach Ihr Terminal ein, es sollte funktionieren.Extra => Wenn Sie ihm aktuelle Benutzerrechte geben müssen, verwenden Sie diese Codezeile:
sudo chown -R $(whoami) /System/Volumes/Data/data/db
(Nur zur Information ->
$(whoami)
ist nur eine Variable, die Ihren aktuellen Benutzer zurückgibt.)quelle
Um eine dauerhafte Änderung des Pfades des Mongod-
db
Ordners vorzunehmen .Nach diesen Dokumenten sagen sie ungefähr dies. Wenn Mongod mit Brauservices gestartet wird:
$ brew services start mongodb-community@4.2
Es wird die Konfigurationsdatei im Pfad verwendet
/usr/local/etc/mongod.conf
Um dies zu beheben, bearbeiten Sie die Konfigurationsdatei:
Und ändern Sie das
dbPath
zB wie folgt in Ihr Home-Verzeichnis:systemLog: destination: file path: /usr/local/var/log/mongodb/mongo.log logAppend: true storage: dbPath: /Users/<username>/data/db net: bindIp: 127.0.0.1
Speichern Sie die Datei und starten Sie Mongod mit Brew neu:
$ brew services restart mongodb-community@4.2
quelle
Dies hat bei mir funktioniert, als ich einen Udemy-Kurs absolvierte: 1. Installieren Sie HomeBrew, indem Sie dies in Ihr Terminal eingeben
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Verschieben Sie Ihren alten Ordner / data / db (wenn Sie Ihre aktuelle Datenbank sichern möchten) in einen Nicht-Root-Ordner und fahren Sie mit dem nächsten Schritt fort
In Terminal a)
brew uninstall mongodb
b) Bei Bedarf ausführenbrew uninstall --force mongodb
c)brew tap mongodb/brew
d)brew install mongodb-community
e)brew services start mongodb/brew/mongodb-community
Jetzt müssen Sie nur noch mongo im Terminal ausführen und sehen das mongo-Shell-Symbol>.
Bitte lassen Sie mich wissen, ob dies funktioniert;) Ich habe fast 2 Stunden gebraucht, um es basierend auf diesem Artikel herauszufinden: /apple/362883/mongodb-doesnt-work-after-update-to -macos-Catalina-10-15
Prost, Radu
quelle
Wenn Sie auf einem Mac arbeiten und mit dem Problem konfrontiert sind, ist der folgende Befehl hilfreich.
whoami
Variable erhält den aktuellen Benutzermongod --dbpath=/Users/$(whoami)/data/db
quelle
Mit macOS Catalina hat Apple aus Sicherheitsgründen ein neues Volume erstellt. Wenn Sie mit macOS Catalina arbeiten, müssen Sie den
/data/db
Ordner in erstellenSystem/Volumes/Data
.Befolgen Sie diese Befehle
sudo mkdir -p /System/Volumes/Data/data/db
sudo chown -R
id -un/System/Volumes/Data/data/db
Starten Sie MongoDB
brew services run mongodb-community
Viel Spaß 😉
quelle
Standardpfade für die Mongodb-Community-Formel
Zusätzlich zur Installation der MongoDB-Server- und Tool-Binärdateien erstellt die Mongodb-Community-Formel:
dann hat es bei mir geklappt:
mkdir -p usr/local/var/mongodb/data/db
quelle
Sie können auf Mac Catalina keinen Ordner mehr im Stammverzeichnis erstellen!
https://www.apple.com/macos/catalina/features/
Spezielles Systemvolumen
# macOS Catalina, mkdir path $ sudo mkdir -p /System/Volumes/Data/data/db # give permissions $ sudo chown -R `id -un` /System/Volumes/Data/data/db
# macOS 10.14.x - $ sudo mkdir -p /data/db # macOS 10.15.x + $ sudo mkdir -p /System/Volumes/Data/data/db
refs
https://discussions.apple.com/thread/250720711
https://zellwk.com/blog/install-mongodb/
https://www.youtube.com/watch?v=DX15WbKidXY
quelle
Mit macOS Catalina können Sie weder Dateien oder Daten mehr auf dem schreibgeschützten Systemvolume speichern noch über die Befehlszeile in das "root" -Verzeichnis (/) schreiben, z. B. mit Terminal.
quelle
Sie können kein
/data/
Verzeichnis erstellen . Das ist für das APFS-Dateisystem reserviert. Überprüfen Sie Bombichs Blog zu diesem Thema.quelle
Ich tat dies:
mkdir -p usr/local/var/mongodb/data/db
seit dem neuen Pfad "usr / local / var / mongodb".
quelle
Ich bin ratlos, warum Apple das getan hat. Jetzt können wir also kein anderes Stammverzeichnis als das ihre haben? Dies macht einfach keinen Sinn und Leute, die mit Root-Rechten diese Ordner erstellen, wissen, was sie tun
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
Ich erstelle einen Kern mit einfachen Schritten, um Mongodb auf Catalina zu installieren und auszuführen
# install homebrew (https://brew.sh/) and run the following commands sudo chown -R $(whoami) $(brew --prefix)/* brew tap mongodb/brew brew install [email protected] ## --- aliases to set in your zshrc file # open your zshrc file open ~/.zshrc # copy and paste shorcuts in the end of the file alias mongod='brew services run mongodb-community' alias mongod-start='brew services start mongodb-community' #will start MongoDB automatically when you login into your Macbook alias mongod-status='brew services list' alias mongod-stop='brew services stop mongodb-community' # restart your terminal # type mongod in your terminal for run service & mongod-stop for finish it # test your mongodb connection with mongo show dbs
https://gist.github.com/sturmenta/cf19baa91b1d79d8ae2b305fb7e1f799
quelle
Um das zu ergänzen, was David Buck hier geschrieben hat , müssen Sie zuerst das Verzeichnis erstellen. Sie können das tun mit:
Wenn Sie diesen Fehler erhalten:
Nach dem Erstellen des Alias hat David Buck (während er einen wirklich hilfreichen Kommentar abgegeben hat) ein Leerzeichen in seiner Antwort verpasst.
Um dies zu beheben, geben Sie ein
und geben Sie dann ein
quelle