J'ai modifié le fichier de configuration MongoDB pour stocker ses données /home/user/data/mongod
.
Mais les données sont toujours écrites dans l'ancien répertoire, soi-disant parce que les autorisations sur le nouveau dossier ne sont pas accordées - comment puis-je accorder à MongoDB les autorisations nécessaires pour ce répertoire?
Réponses:
Pour modifier l'emplacement utilisé par MongoDB pour stocker ses données, vous devez:
/etc/mongodb.conf
et modifiez la lignedbpath=/var/lib/mongodb
du chemin que vous désirez, par exempledbpath=/home/user/data/mongodb
mongodb
utilisateur d'y écrire, par exemplechown $USER -R /home/user/data/mongodb
sudo service mongodb restart
Notez que si vous avez des données dans l'ancien emplacement que vous souhaitez conserver, vous devrez 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
la source
/var/lib/mongodb
Vous devez redémarrer le démon pour que les modifications prennent effet.
la source
Si vous démarrez mongodb à partir de la ligne de commande, vous pouvez utiliser l'
--dbpath
argument:mkdir mydata && mongod --dbpath mydata
vous pouvez rencontrer un problème lié au "fichier existe" ou quelque chose, c'est une limitation bien connue de MongoDb, plus à ce sujet ici . Changez simplement le lecteur de disque et testez si maintenant vous n'avez plus ce problème.la source
J'ai rencontré le même problème aujourd'hui et j'ai résolu le problème en suivant les étapes suivantes.
Modifiez le fichier mongod.conf et modifiez la valeur de la variable dbPath.
Utilisez ensuite la commande suivante pour démarrer le service mongod
J'ai essayé d'exécuter la commande ci-dessus sans
sudo
et j'ai eu une erreur. Utilisez doncsudo
pour exécuter la commande.la source
mv le / var / lib / mongodb (le répertoire dans lequel vous avez enregistré les données) dans le chemin / et chown mondodb: mongodb / path (le répertoire dans lequel vous souhaitez enregistrer les données)
éditez le /etc/mongod.conf
service mongod restart (s'il ne peut pas se connecter, vérifiez le chemin / s'il ne contient pas le mongod.lock, s'il existe, supprimez-le et redémarrez à nouveau)
la source