Ich habe die MongoDB-Konfigurationsdatei bearbeitet, um die Daten darin zu speichern /home/user/data/mongod
.
Daten werden jedoch weiterhin in das alte Verzeichnis geschrieben, angeblich weil die Berechtigungen für den neuen Ordner nicht erteilt wurden. Wie kann ich MongoDB die erforderlichen Berechtigungen für dieses Verzeichnis erteilen?
Antworten:
Um den Speicherort zu ändern, an dem MongoDB seine Daten speichert, müssen Sie:
/etc/mongodb.conf
und ändern Sie die Zeiledbpath=/var/lib/mongodb
in den gewünschten Pfad, zdbpath=/home/user/data/mongodb
mongodb
Benutzer darauf schreiben kann, zchown $USER -R /home/user/data/mongodb
sudo service mongodb restart
Beachten Sie, dass Sie, wenn Sie Daten am alten Speicherort haben, die Sie behalten möchten, zuerst den MongoDB-Dienst beenden, die Dateien manuell verschieben und den Dienst dann erneut starten müssen.
Um den MongoDB-Server zu stoppen, verwenden Sie
sudo service mongodb stop
quelle
/var/lib/mongodb
Sie müssen den Dämon neu starten, damit die Änderungen wirksam werden.
quelle
Wenn Sie mongodb über die Befehlszeile starten, können Sie das folgende
--dbpath
Argument verwenden:mkdir mydata && mongod --dbpath mydata
Möglicherweise tritt ein Problem im Zusammenhang mit "Datei existiert" oder Ähnlichem auf. Dies ist eine bekannte Einschränkung von MongoDb. Mehr dazu hier . Wechseln Sie einfach das Laufwerk und testen Sie, ob Sie dieses Problem jetzt nicht mehr haben.quelle
mv die / var / lib / mongodb (das Verzeichnis, in dem Sie Daten gespeichert haben) in den / path und chond mondodb: mongodb / path (das Verzeichnis, in dem Sie die Daten speichern möchten)
Bearbeiten Sie die Datei /etc/mongod.conf
service mongod restart (wenn keine Verbindung hergestellt werden kann, überprüfen Sie den / path, falls nicht mongod.lock enthalten, falls vorhanden, löschen Sie es und starten Sie es erneut)
quelle