web-dev-qa-db-fra.com

Comment changer l'emplacement utilisé par MongoDB pour stocker ses données?

J'ai édité le fichier de configuration MongoDB pour stocker ses données dans /home/user/data/mongod.

Mais les données sont toujours écrites dans l'ancien répertoire, car les autorisations sur le nouveau dossier ne sont pas accordées. Comment puis-je accorder à MongoDB les autorisations nécessaires pour ce répertoire?

11
deemel

Pour modifier l'emplacement utilisé par MongoDB pour stocker ses données, vous devez:

  1. Modifiez /etc/mongodb.conf et remplacez la ligne dbpath=/var/lib/mongodb par le chemin souhaité, par exemple. dbpath=/home/user/data/mongodb
  2. Mettez à jour les autorisations du chemin choisi pour permettre à l'utilisateur mongodb d'y écrire, par exemple. chown $USER -R /home/user/data/mongodb
  3. Redémarrez le service MongoDB en exécutant Sudo service mongodb restart

Notez que si vous souhaitez conserver des données à l'ancien emplacement, vous devez d'abord arrêter le service MongoDB, déplacer manuellement les fichiers, puis redémarrer le service.

Pour arrêter le serveur MongoDB, utilisez Sudo service mongodb stop

24
David Edwards

mv le/var/lib/mongodb (le répertoire dans lequel vous avez sauvegardé des données) dans le répertoire/path et chown mondodb: mongodb/path (le répertoire dans lequel vous souhaitez sauvegarder les données)

éditez le fichier /etc/mongod.conf

service mongod restart (si la connexion est impossible, vérifiez le chemin/path s'il ne contient pas le fichier mongod.lock, s'il existe, supprimez-le et redémarrez-le à nouveau)

1
user485014

Vous devez redémarrer le démon pour que les modifications prennent effet.

Sudo service mongodb restart
1
Cyril ALFARO