Activité-Paranormale


Red devil Information

Publicité

Rechercher

Développement

Apportez vos talents de codeur !

Développer

Visiteurs

Citations

Random quotation
Le silence est comme l'ébauche de mille métamorphoses.
(​Yves Bonnefoy)

Événements - 30 juin

Event Calendrier

Validation

Valid XHTML 1.0 Transitional Valid CSS!

Crystal ballTour de magie

AbductionRécupérer une base de données MySQL avec les fichiers *.ibd et *.frm

Il peut arriver dans la vie d'un développeur qu'il perde malencontreusement les données d'une table et qu'il ne lui reste plus que des fichiers *.ibd et *.frm pour se consoler. Heureusement, il existe une technique pour recouvrer sa base de données avec toutes ses tables et, bien entendu, les données.

Avant de débuter ce tutoriel, prenez l'ensemble de vos fichier *.frm et *.ibd et copier afin d'éviter de predre vos précieuses données au cas où une étape échouerait.

La première consiste à recréer la table. Pour cela, nous allons nous servir d'un utilitaire fourni par MySQL et appelé "mysqlfrm.exe". Pour commencer, ouvrez une console ("cmd.exe") en mode administrateur. Placez-vous dans le dossier où se trouve l'exécutable précité puis la commande suivante :

mysqlfrm --server=root:motdepasse@localhost:3306 C:\wamp\bin\mysql\mysql5.6.17\data\nom_de_votre_bdd\nom_de_votre_table.frm --port=3310

En lançant cette commande, la console va vous afficher la commande SQL permettant la création de votre table (elle commencera par "CREATE TABLE ...") avec toutes les colonnes qui s'y trouvaient originellement. Copiez cette commande SQL, créez votre base de données et collez-la avant de l'exécuter. Votre table devrait se créer sans aucun problème. Vous devrez répéter cette opération pour l'ensemble de vos tables.

Récupération des données

Maintenant que vos tables sont prêtes, il va falloir les remplir. Les opérations qui suivent doivent faites pour toutes les tables à restaurer. Commencez par lancer la requête SQL suivante :

ALTER TABLE `nom_de_votre_table` DISCARD TABLESPACE;

Prenez le fichier *.ibd de la première table et copiez-le dans le dossier "C:\wamp\bin\mysql5.6.17\nom_de_votre_bdd\". Pour finir, lancez la requête suivante :

ALTER TABLE `nom_de_votre_table` IMPORT TABLESPACE;

Et là, le miracle devrait s'opérer ; en ouvrant la table vous devrez retrouver toutes vos données !

Resources utiles :



SQL


Publicité