J'ai une installation de MongoDB 2.0.4 sur Ubuntu 12.10. Récemment, j'ai eu des problèmes de connexion à la base de données de l'extérieur et j'ai compris qu'il y avait quelque chose qui empêchait MongoDB de démarrer correctement. Comme suggéré sur plusieurs sources (voir StackOverflow), j'ai supprimé /var/lib/mongodb/mongodb.lock
et exécuté mongod --repair
. Cela n'a pas résolu le problème, MongoDB ne s'exécutait pas et continuait à créer des fichiers de verrouillage qu'il ne s'occupait pas de supprimer par la suite. En regardant les journaux, j'ai réalisé qu'il n'avait pas accès à un dossier appelé $tmpSomething
, donc (puisque le nom suggérait un dossier temporaire) je l'ai supprimé, et ensuite tout a fonctionné ... sauf le fait que je n'en ai qu'un de mes bases de données précédentes en vue, tandis que les autres sont toujours là car mon /var/lib/mongodb/
dossier est toujours plein de.ns .0 .1 .n
des fichiers qui pèsent beaucoup. Existe-t-il un moyen de les restaurer dans la base de données? (J'ai essayé avec mongorestore, mais comme je m'y attendais, il ne gère pas ces fichiers).
Merci
mongod --dbpath ./
puis de poursuivre le mongodump sans le--dbpath
mongod --dbpath ./
ne vous donne pas la base de données dans les.ns .0
fichiers, il se peut que le moteur de stockage utilise par défaut le nouveau moteur WiredTiger au lieu de l'ancien moteur MMapV1. Essayezmongod --storageEngine mmapv1 --dbpath ./
plutôt de vous connecter en utilisant l'ancien moteur.