Comment réparer une corruption de la base de données du serveur MySQL ?

Summary: Ce blog présente les raisons potentielles de la corruption de la base de données du serveur MySQL et les étapes à suivre pour résoudre le problème. Ces étapes incluent la sauvegarde de la base de données (db) avant d'effectuer des opérations de récupération, l'utilisation de 'innodb_force_recovery', etc.

Le blog explique également comment le logiciel de réparation MySQL peut vous aider lorsque vous ne parvenez pas à réparer et à restaurer la base de données.

Une corruption de base de données dans le serveur MySQL, si elle n’est pas traitée correctement ou résolue à temps, peut entraîner des temps d’arrêt importants et des pertes de données.

Malheureusement, il se peut que vous ne remarquiez même pas que votre serveur MySQL est devenu corrompu, jusqu’à ce que le serveur accède à une table corrompue ou que le serveur soit arrêté.

Quelles sont les causes de la corruption des bases de données dans le serveur MySQL ?

Voici quelques-unes des raisons les plus courantes de la corruption de la base de données du serveur MySQL :

Outre ces raisons, la corruption de la base de données dépend également de l’utilisation du moteur de stockage MyISAM ou InnoDB. En effet, les tables MyISAM sont plus susceptibles d’être corrompues.

Que faire lorsque la base de données MySQL est corrompue ?

En général, lorsque la base de données MySQL est corrompue, il est recommandé de la restaurer à partir de la dernière copie de sauvegarde connue. Mais si vous n’avez pas de sauvegarde, les opérations de récupération peuvent vous aider à réparer la corruption de la base de données MySQL.

Même si la sauvegarde est disponible, la tentative de récupération peut être une meilleure option car elle prend moins de temps pour remettre la base de données en ligne.

Etapes de dépannage pour résoudre la corruption de la base de données MySQL

Essayez de résoudre le problème de corruption de la base de données en suivant les étapes énumérées ci-dessous :

REMARQUE : ces étapes ne fonctionnent que si le serveur de base de données MySQL est en cours d’exécution. Cependant, si le service MySQL cesse de fonctionner (est tombé en panne) et que vous ne pouvez pas vous connecter au client de ligne de commande MySQL, la seule option restante est de restaurer la base de données à partir d’une bonne sauvegarde connue. S’il n’y a pas de sauvegarde, l’utilisation d’un logiciel de réparation MySQL spécialisé peut s’avérer utile.

Étape 1 – Sauvegarde de votre base de données

Avant de tenter de réparer la base de données corrompue, veillez à sauvegarder vos fichiers de base de données.

Bien que la base de données soit déjà corrompue, la sauvegarder permet de minimiser le risque de dommages supplémentaires, qui peuvent être causés par une opération de récupération.

Pour sauvegarder tous les fichiers db, procédez comme suit :

  1. Arrêtez le serveur MySQL.
  2. Créez une copie de sauvegarde de votre répertoire de données.

Étape 2 – Ramener la base de données en mode de récupération

NOTE : Si le serveur MySQL utilise MyISAM comme moteur de stockage par défaut, passez à l’étape 3 pour connaître le processus de réparation de la base de données corrompue.

Si InnoDB est le moteur de stockage par défaut de MySQL Server, dans certains cas de corruption de la base de données, le simple fait de vider, d’effacer et de recréer une ou quelques tables corrompues suffira. Pour cela, utilisez l’instruction CHECK TABLE pour vérifier les tables corrompues.

Lisez ceci : Comment réparer une table de base de données MySQL sans interruption de service ?

Si la corruption de la base de données est grave, vous rencontrerez probablement des problèmes lors du démarrage de votre serveur MySQL. Dans ce cas, forcer la récupération InnoDB peut aider à démarrer MySQL.

Pour utiliser l’option ‘innodb_force_recovery‘, suivez les étapes suivantes :

  1. Ouvrez le fichier de configuration de MySQL et ajoutez la ligne de code suivante à la section [mysqld] avant de redémarrer le serveur :

NOTE : La valeur de innodb_force_recovery est fixée à ‘0’ par défaut. Cependant, pour démarrer InnoDB et vider les tables MySQL, vous devez définir la valeur à “1” et l’augmenter progressivement (de 1 à 6).

Cependant, n’oubliez pas que la valeur de l’option innodb_force_recovery (4 ou plus) augmente les risques de corruption des données.

[mysqld]

innodb_force_recovery=1

mysqldump -u [user] -p [password] –all-databases > all_databases.sql

REMARQUE : Le fichier de vidage de cet exemple s’appelle all_databases.sql. Mais vous pouvez le modifier à votre guise.

#innodb_force_recovery=…

 mysql> source all_databases.sql

Lire la suite : Les meilleures façons de réparer une corruption de table InnoDB dans MySQL.

Étape 3 – Réparation des tables MyISAM à l’aide de myisamchk

Exécutez la commande myisamchk pour réparer les tables MyISAM en suivant les étapes suivantes :

NOTE : La commande myisamchk ne fonctionne pas pour les tables qui utilisent le moteur InnoDB.

  1. Arrêtez le serveur MySQL.
  2. Utilisez la commande suivante pour vérifier les tables corrompues :

myisamchk TABLE

myisamchk *.MYI

myisamchk -recover TABLE

Consultez ce lien pour obtenir des informations détaillées sur “Comment réparer une table MyISAM à l’aide de myisamchk”.

Et si rien ne marche ?

Si les étapes de dépannage ne permettent pas de résoudre le problème, utilisez le logiciel Stellar Repair for MySQL pour réparer la base de données corrompue et restaurer tous ses objets. Le logiciel peut réparer la base de données MySQL sur les systèmes Windows et Linux.

Quelques raisons pour lesquelles vous devriez utiliser le logiciel Stellar Repair for MySQL

Etapes pour réparer une base de données MySQL corrompue avec le logiciel Stellar Repair for MySQL

Prérequis :

Étape 1 : Téléchargez, installez et lancez le logiciel Stellar Repair for MySQL.

Étape 2 : Dans la fenêtre Select Data Folder, sélectionnez la version de MySQL que vous utilisez.

Figure 2- Fenêtre de sélection du dossier de données

Étape 3 : La fenêtre Sélectionner une base de données s’affiche. Sélectionnez la base de données que vous souhaitez réparer.

Figure 3- Fenêtre de sélection de la base de données

Étape 4 : Cliquez sur Réparer pour lancer le processus de réparation.

Étape 5 : Lorsque la boîte de dialogue Réparation terminée apparaît, cliquez sur OK.

Étape 6 : Le logiciel affiche un aperçu de la base de données réparée et de ses composants récupérables.

Figure 4 – Fenêtre de prévisualisation

Étape 7 : Cliquez sur Enregistrer dans le menu Fichier pour enregistrer la base de données réparée.

Figure 5 – Menu Fichier

Étape 8 : Dans la fenêtre Enregistrer la base de données, choisissez le format de fichier MySQL, puis cliquez sur Enregistrer.

Figure 6 – Fenêtre d’enregistrement de la base de données

Étape 9 : Lorsque le message “Processus d’enregistrement terminé” apparaît, cliquez sur OK.

Figure 7 – Boîte de message d’enregistrement complet

La base de données réparée sera enregistrée à l’emplacement sélectionné.

Note de fin

Lorsqu’il s’agit de résoudre une corruption de base de données sur un serveur MySQL, l’exécution des étapes de dépannage présentées dans ce billet peut vous aider à résoudre le problème.

Cependant, si vous n’êtes pas un expert en matière de corruption de base de données ou si vous avez une base de données de grande taille (avec des gigaoctets ou des téraoctets de données), vous risquez de ne pas pouvoir restaurer la base de données corrompue à l’aide des options de réparation et de récupération. En outre, les options de récupération telles que innodb_force_recovery définies sur une valeur de 4 ou plus peuvent entraîner une corruption des données.

Une meilleure alternative consiste à utiliser un logiciel de réparation MySQL spécialement conçu pour réparer facilement une base de données corrompue, dans le format d’origine.

Related Post

Exit mobile version