Dump sql d'une base innodb endommagée

Fermé
serge chelli - 29 déc. 2007 à 13:43
 dark - 17 déc. 2008 à 09:40
Bonjour,

J'ai une base de données mySQL innoDB endommagées. Impossible de relancer mysql sans mettre la directive innodb_force_recovery=5 dans my.ini

Mon serveur mySQL est en version 4.1 sous windows.

Je n'arrive pas à faire de DUMP SQL comme le recommande la doc mysql car le système me retourne systématiquement le message :

mysqldump: Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ * FROM `comptes`':
Incorrect key file for table 'comptes'; try to repair it (1034)
mysqldump: Got error: 1034: Incorrect key file for table 'comptes'; try to repair it when retrieving data from server

Le problème est que innoDB ne permet pas de réparer une table !

Comment faire pour avoir une chance de retrouver mes données ?

Mreci d'avance

Serge
A voir également:

8 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
2 janv. 2008 à 03:55
J'ai trouvé deux trois choses.

Peux-tu essayer de passer la commande suivante sur le serveur mysql en utilisant ta base corrompu ?

CHECK TABLE comptes EXTENDED;

Cette commande te permettra déjà de vérifier que la table mysql est ou non en status OK.

J'ai corrompu une base pour faire des tests, et le résultat si la table est HS est à peu près le suivant :

mysql> CHECK TABLE nuked_banned EXTENDED;
+-------------------+-------+----------+----------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-------------------+-------+----------+----------------------------------------------------------+
| fan3.nuked_banned | check | error | Incorrect information in file: './fan3/nuked_banned.frm' |
+-------------------+-------+----------+----------------------------------------------------------+

Je continue de regarder pour récuperer les tables, normalement il ne faut d'après ce que j'ai lu que les FRM et ibdata1 pour lancer mysql, mais les logfile servent pour recréer des index il me semble.

Déjà il faudrait savoir via ma commande du dessus si toutes les tables sont endommamgées ou une seule seulement.
2
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
29 déc. 2007 à 21:36
Je pense que tu dois pouvoir restaurer alors mais as-tu essayé dde couper mysqld et de le relancer manuellement?
1
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
29 déc. 2007 à 14:10
J'ai cherché un peu là : http://www.mirrors-r-us.net/

Et apparement ce qu'ils disent et qu'il faut couper mysqld et relancer le serveur ce qui devrait normalement corriger l'erreur.

Je cherche voir si je trouve pas autre chose.
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
29 déc. 2007 à 14:22
Ah oui au fait question : tu as une sauvegarde des données à chaud ou à froid?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
serge chelli Messages postés 3 Date d'inscription samedi 29 décembre 2007 Statut Membre Dernière intervention 1 janvier 2008
29 déc. 2007 à 14:34
mon serveur a redémarré 2 fois de suite à une coupure d'electricité.
Je n'ai que ibdata1 qui fait 21 GB et tous les dossiers des bases de données avec les FRM dedans.
J'ai supprimé les fichiers ib_logfile0 et ib_logfile1 pensant qu'ils étaient responsable de l'erreur (sans les sauvegarder)
0
serge chelli Messages postés 3 Date d'inscription samedi 29 décembre 2007 Statut Membre Dernière intervention 1 janvier 2008
31 déc. 2007 à 15:29
Impossible malgré le lancement de mysql manuellement.
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
31 déc. 2007 à 20:54
C'est une grosse base de données? Elle est sensible?
0
serge chelli Messages postés 3 Date d'inscription samedi 29 décembre 2007 Statut Membre Dernière intervention 1 janvier 2008
1 janv. 2008 à 02:12
Bonsoir et bonne année.

Cette base de données fait 21 giga, elle contient plus de 100 bases de données d'un serveur d'applications en ligne.

Outre le fait que j'ai perdu 6 heures d'activité sur la plupart des bases de données (j'ai restauré les bases de la veille), je n'ai aucune sauvegarde de 3 bases dont les dump SQL ne fonctionnaient pas depuis plusieurs mois.

Oui, récupérer cette base de données est important pour moi.

Merci de toute aide.
0
Salut,

J'ai un ibdata corrompu moi aussi, j'aimerais savoir si je pourrais avoir un coup de main egalement,
j'ai essayé toutes les précedentes techniques, la je m'oriente vers innodb-tools mais si vous aviez
une astuce pour récupérer ces précieuses données, j'en serai ravi
0