Rechercher : dans
Par :

Dump sql d'une base innodb endommagée

Dernière réponse le 17 déc 2008 à 09:40:09 serge chelli, le 29 déc 2007 à 13:43:43 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « dump sql d'une base innodb endommagée » dans :
Sauvegarde restauration base de données Mysql VoirL'article suivant va présenter la manière la plus facile pour sauvegarder et restaurer les bases de données Mysql. Sauvegarde Pour sauvegarder une base de données existante il est conseillé de créer un dump. Pour dumper toutes les bases de...
Sauvegarde automatique d'une BDD sous SQL EXPRESS 2005 VoirSi vous vous voulez automatiser une sauvegarde d'une base de données sous SQL server express, il existe une solution simple grâce à un fichier .bat. Créez un nouveau fichier texte. Ce fichier doit contenir les informations suivantes: SET...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...
Connexion à la base de données avec JDBC VoirConnexion à la base de données L'API (Application Programming Interface) JDBC, c'est-à-dire la bibliothèque de classes JDBC, se charge de trois étapes indispensables à la connexion à une base de données : la création d'une connexion à la...

1

arth, le 29 déc 2007 à 14:10:57

J'ai cherché un peu là : http://mirrors-r-us.net/doc/refman/5.0/fr/backing-up.html

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.
Le loup, solitaire et mystérieux.

Répondre à arth

2

arth, le 29 déc 2007 à 14:22:29

Ah oui au fait question : tu as une sauvegarde des données à chaud ou à froid?
Le loup, solitaire et mystérieux.

Répondre à arth

3

serge chelli, le 29 déc 2007 à 14:34:42

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)

Répondre à serge chelli

4

arth, le 29 déc 2007 à 21:36:12

Je pense que tu dois pouvoir restaurer alors mais as-tu essayé dde couper mysqld et de le relancer manuellement?
Le loup, solitaire et mystérieux.

Répondre à arth

5

serge chelli, le 31 déc 2007 à 15:29:01

Impossible malgré le lancement de mysql manuellement.

Répondre à serge chelli

6

arth, le 31 déc 2007 à 20:54:41

C'est une grosse base de données? Elle est sensible?
Le loup, solitaire et mystérieux.

Répondre à arth

7

serge chelli, le 1 jan 2008 à 02:12:19

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.

Répondre à serge chelli

9

 dark, le 17 déc 2008 à 09:40:09

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

Répondre à dark

8

arth, le 2 jan 2008 à 03:55:00

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.

Le loup, solitaire et mystérieux.

Répondre à arth