====== Fixer une corruption InnoDB ====== {{tag>"Linux système" "Windows système"}} 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.