informatique:applications:base-de-donnees:mariadb:maintenance:fixer-une-corruption-innodb

Fixer une corruption InnoDB

La corruption de la table InnoDB est un problème fréquent qui peut affecter les bases de données MySQL ou MariaDB. Cela peut se produire lorsque la table InnoDB est endommagée en raison d'un crash du système, d'une coupure de courant ou d'une panne de disque. La corruption de la table InnoDB peut entraîner des erreurs lors de l'accès à la base de données et peut même rendre impossible l'accès à certaines données.

Si cela devait vous arriver, voici les actions à mener :

1/ Arrêter mysqld et sauvegarder les fichiers de la base de données.

service mysqld stop
mkdir /root/mysql_backup
cp -r /var/lib/mysql/* /root/mysql_backup/

2/ Ajouter l'option innodb_force_recovery dans la section [mysqld] du fichier de configuration MySQL. Cette option permettera de démarrer mysql et créer un dump des bases de données.

Modifier le fichier /etc/my.cnf:

[mysqld]
innodb_force_recovery = 4

3/ Démarrer MySQL.

mysqld start

4/ Effectuer un dump des bases de données.

mysqldump -uroot -p`cat /root/.mysql.shadow` -A > dump20120915_084449.sql

Si des erreurs persistent, il faut augmenter la valeur de l'option innodb_force_recovery.

5/ Supprimer le contenu des fichiers de l'InnoDB

rm -rf /var/lib/mysql/*

6/ Enlever l'option innodb_force_recovery du fichier /etc/my.cnf.

7/ Démarrer mysqld

/etc/init.d/mysqld start

8/ Restaurer les bases de données.

mysql -uroot < dump20120915_084449.sql

9/ Restaurer les droits des bases de données.

mysql -uroot

puis une fois dans MySQL

FLUSH PRIVILEGES;

Actuelle, je le constate trop souvent avec Windows 11. Si cela vous arrive également, il est conseillé d'effectuer régulièrement des sauvegardes de vos données importantes afin de pouvoir les restaurer en cas de problème. Il est également recommandé de prévoir un arrêt propre de MySQL avant de fermer ou de redémarrer votre ordinateur, afin de minimiser les risques de corruption de données ou de perte de données.

  • informatique/applications/base-de-donnees/mariadb/maintenance/fixer-une-corruption-innodb.txt
  • Dernière modification : 2023/02/10 23:48
  • de Cédric ABONNEL