2012-09-12 6 views
2

J'ai installé il y a MongoDB quelques jours sur ma machine ubuntu et je l'ai utilisé sans aucun problème. Aujourd'hui, j'ai dû redémarrer mon PC. Après cela, mongo ne commencera tout simplement pas. Il dit:MongoDB ne démarre pas

Wed Sep 12 21:41:21 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating 

Il fonctionnait bien il y a quelques heures et maintenant tout est foutu au redémarrage. J'ai stocké beaucoup de données importantes et j'espère vraiment que tout n'est pas perdu! J'ai besoin de trouver ces données et lancer mongodb sur ces données à nouveau. J'utilise pymongo pour interagir avec mongodb.

Je viens de voir le fichier de configuration et il est le stockage des données dans/var/lib/mongod comme DPATH. Maintenant, comment démarrer mongodb en spécifiant ce dpath?

Répondre

7

Vous pouvez commencer mongodb avec l'option suivante.

mongod --dbpath /path/to/mongodb/data 

Ou modifiez le fichier de configuration.

/etc/mongod.conf 

Modifiez dbpath dans votre répertoire de données.

dbpath = /path/to/mongodb/data 

Il y a beaucoup plus que vous pouvez ajouter et modifier dans le fichier de configuration pour aller here plus de détails.

Utilisez cette commande pour créer votre arborescence.

mkdir -p data/{db} 
+0

Essayé ci-dessus et cela a fonctionné, mais a dû naviguer vers ma corbeille où mongo est installé et utiliser ./mongod au lieu de simplement mongod –

+0

est-ce que les données précédentes peuvent être récupérées? –

1

vous avez besoin d'un chemin pour stocker votre base de données. Par défaut, il s'agit de /data/db/. si elle ne vous existe pas créer d'abord

+0

yup,^est le problème. +1 – Kyle

3

Utilisez la commande suivante pour démarrer mongod:

sudo service mongodb start 

Cela passera votre fichier de configuration du système comme argument de mongod, qui (comme vous l'avez vu) le fera d'utiliser le bon chemin.

+0

Woaaa cela a fonctionné pour moi (sur Debian), on m'a toujours cru /etc/init.d/mongodb start était la même chose, apparemment pas, merci! –

0

Une des raisons de cette erreur peut être le fait que vous démarrez le mongodb avec l'utilisateur que vous-même. Si vous exécutez la commande avec sudo, le mongodb devrait commencer sans erreur:

sudo mongod --dbpath /path/to/mongodb/data 

On peut trouver le chemin de MongoDB données dans le fichier tels que /etc/mongod.conf