Réparer la base de données MongoDB
Ce tutoriel parle de la réparation d’une base de données à l’aide de MongoDB dans le système d’exploitation Windows en fonction du problème auquel nous sommes confrontés.
Réparer une base de données dans MongoDB
Il existe différents scénarios dans lesquels nous devons réparer une base de données à l’aide de MongoDB. Par exemple, nous réparons une base de données en cas d’arrêt incorrect ou impur ou nous voulons vérifier les incohérences et les erreurs.
Nous réparons également la base de données si le système est arrêté accidentellement. Avant d’entrer dans le processus de réparation, comprenons les composants de la base de données MongoDB.
Composants de la base de données MongoDB
La base de données MongoDB comporte trois composants, brièvement expliqués ci-dessous.
mongo
- un shell interactif qui vérifie le journal des alertes ; par exemple, détaille et retente une opération.mongos
- Terminaison incorrecte du processus. De plus, il a été forcé de se déconnecter d’une instance.mongod
- Un processus démon qui gère les opérations en arrière-plan et les demandes de données.
Voici quelques problèmes et les solutions respectives.
Problème 1 : le système s’arrête accidentellement
Voici la solution étape par étape à ce problème. N’oubliez pas d’avoir un dossier data
dans le répertoire root
avant de suivre les étapes.
-
Utilisez la commande
cd/
pour changer le répertoire enroot
,C:\>
dans le système d’exploitation Windows. -
Copiez le chemin complet du service
mongod.exe
. Dans notre cas, il s’agit deC:\Program Files\MongoDB\Server\5.0\bin\mongod.exe
.Notez que nous avons également ajouté le paramètre
--repair
.C:\> "C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe" --dbpath C:\data --repair
-
Appuyez sur la touche Enter et attendez que cela se termine. Une fois cela fait, la base de données sera réparée.
Problème 2 : réparer MongoDB pour un arrêt incorrect
Les données peuvent être incohérentes si l’arrêt incorrect se produit et que la journalisation est désactivée lorsque vous travaillez dans MongoDB. S’il existe un fichier mongod.lock
non vide, nous serons confrontés au message d’erreur suivant.
Message d’erreur:
Detected unclean shutdown – mongod.lock is not empty
La solution à ce problème spécifique est donnée ci-dessous.
-
Basculez vers le répertoire
root
à l’aide de la commandecd/
de l’invite de commande Windows. -
Nous créons une copie de sauvegarde des fichiers de données dans le
--dbpath
. -
Utilisez
--repair
pour initialiser MongoDB. -
Exécutez la commande ci-dessous et appuyez sur Enter.
C:\> mongod --dbpath /data/db --repair
Une fois terminé, le MongoDB sera réparé.
Problème 3 : échec de la connexion, arrêt non nettoyé détecté
Si l’un de nous fait face à l’erreur suivante, nous devons suivre le processus en 2 étapes.
Message d’erreur:
couldn't connect to server 127.0.0.1 shell/mongo.js:8 4 exceptions: connect failed Unclean shutdown detected
Étape 1 : Ouvrez l’invite de commande Windows et tapez cd/
pour changer le répertoire en root
.
Étape 2 : Exécutez la commande comme indiqué ci-dessous, appuyez sur Enter et attendez que cela se termine. Une fois que c’est fait, le MongoDB est réparé maintenant.
C:\> mongod --repair