Ich versuche, einen neuen Ordner im Hauptverzeichnis zu erstellen
Versuchte alle Arten von Beispielen
sudo mkdir /data/db
sudo mkdir -p /data/db
Ich bekomme immer
mkdir: / data: Schreibgeschütztes Dateisystem
Ich versuche, einen neuen Ordner im Hauptverzeichnis zu erstellen
Versuchte alle Arten von Beispielen
sudo mkdir /data/db
sudo mkdir -p /data/db
Ich bekomme immer
mkdir: / data: Schreibgeschütztes Dateisystem
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
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 mongodb-community@4.2
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 dbsin der Mongo-Shell ausgeführt werden können
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:
sudo chown -R $(whoami) /System/Volumes/Data/data/db
(Nur zur Information -> $(whoami)ist nur eine Variable, die Ihren aktuellen Benutzer zurückgibt.)
Um eine dauerhafte Änderung des Pfades des Mongod- dbOrdners 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:
$ vim /usr/local/etc/mongod.conf
Und ändern Sie das dbPathzB 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
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ü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>.
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
Wenn Sie auf einem Mac arbeiten und mit dem Problem konfrontiert sind, ist der folgende Befehl hilfreich.
whoamiVariable erhält den aktuellen Benutzer
mongod --dbpath=/Users/$(whoami)/data/db
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.
Befolgen Sie diese Befehle
sudo mkdir -p /System/Volumes/Data/data/dbsudo chown -R id -un /System/Volumes/Data/data/dbStarten Sie MongoDB
brew services run mongodb-community
Viel Spaß 😉
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
https://www.apple.com/macos/catalina/features/
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.
# 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
https://discussions.apple.com/thread/250720711
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.
Sie können kein /data/Verzeichnis erstellen . Das ist für das APFS-Dateisystem reserviert. Überprüfen Sie Bombichs Blog zu diesem Thema.
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:
Anleitung zur Installation der aktualisierten Mongodb-Community-Edition
brew install mongodb-community@VERSION wobei die erste VERSION mit dem Fix 4.2 ist
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 mongodb-community@4.2
## --- 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
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"