Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
informatique:applications:base-de-donnees:mariadb:maintenance:fixer-une-corruption-innodb [2023/02/10 22:48] – supprimée - modification externe (Unknown date) | informatique:applications:base-de-donnees:mariadb:maintenance:fixer-une-corruption-innodb [2023/02/10 22:48] (Version actuelle) – ↷ Page déplacée de informatique:linux:applications:base-de-donnees:mariadb:maintenance:fixer-une-corruption-innodb à informatique:applications:base-de-donnees:mariadb:maintenance:fixer-une-corruption-innodb Cédric ABONNEL | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Fixer une corruption InnoDB ====== | ||
+ | {{tag>" | ||
+ | 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' | ||
+ | |||
+ | Si cela devait vous arriver, voici les actions à mener : | ||
+ | |||
+ | 1/ Arrêter **mysqld** et sauvegarder les fichiers de la base de données. | ||
+ | <code bash> | ||
+ | service mysqld stop | ||
+ | mkdir / | ||
+ | cp -r / | ||
+ | </ | ||
+ | |||
+ | 2/ Ajouter l' | ||
+ | Cette option permettera de démarrer mysql et créer un dump des bases de données. | ||
+ | |||
+ | Modifier le fichier **/ | ||
+ | |||
+ | <code bash> | ||
+ | [mysqld] | ||
+ | innodb_force_recovery = 4 | ||
+ | </ | ||
+ | |||
+ | 3/ Démarrer MySQL. | ||
+ | <code bash> | ||
+ | mysqld start | ||
+ | </ | ||
+ | |||
+ | 4/ Effectuer un dump des bases de données. | ||
+ | |||
+ | <code bash> | ||
+ | mysqldump -uroot -p`cat / | ||
+ | </ | ||
+ | |||
+ | Si des erreurs persistent, il faut augmenter la valeur de l' | ||
+ | |||
+ | 5/ Supprimer le contenu des fichiers de l' | ||
+ | |||
+ | <code bash> | ||
+ | rm -rf / | ||
+ | </ | ||
+ | |||
+ | 6/ Enlever l' | ||
+ | |||
+ | 7/ Démarrer **mysqld** | ||
+ | |||
+ | <code bash> | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | 8/ Restaurer les bases de données. | ||
+ | |||
+ | <code bash> | ||
+ | mysql -uroot < dump20120915_084449.sql | ||
+ | </ | ||
+ | |||
+ | 9/ Restaurer les droits des bases de données. | ||
+ | |||
+ | <code bash> | ||
+ | mysql -uroot | ||
+ | </ | ||
+ | |||
+ | puis une fois dans MySQL | ||
+ | |||
+ | <code bash> | ||
+ | FLUSH PRIVILEGES; | ||
+ | </ | ||
+ | |||
+ | |||
+ | Actuelle, je le constate trop souvent avec Windows 11. Si cela vous arrive également, il est conseillé d' |