cfp:mysql:fixer_une_corruption_innodb:start

MySQL : fixer une corruption InnoDB

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;
Entrer votre commentaire. La syntaxe wiki est autorisée:
   ____   ____ ______     __   __ 
  /  _/  / __//_  __/ __ / /  / / 
 _/ /   _\ \   / /   / // /  / /__
/___/  /___/  /_/    \___/  /____/
 
  • cfp/mysql/fixer_une_corruption_innodb/start.txt
  • Dernière modification: 2019/05/16 22:37
  • par Cedric ABONNEL