Réparer la base de données MongoDB

Mehvish Ashiq 13 juin 2022
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.

  1. mongo - un shell interactif qui vérifie le journal des alertes ; par exemple, détaille et retente une opération.
  2. mongos - Terminaison incorrecte du processus. De plus, il a été forcé de se déconnecter d’une instance.
  3. 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 en root, C:\> dans le système d’exploitation Windows.
  • Copiez le chemin complet du service mongod.exe. Dans notre cas, il s’agit de C:\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 commande cd/ 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
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook