Maison > base de données > tutoriel mysql > Pouvons-nous récupérer la structure des tables MySQL uniquement à partir des fichiers FRM et IBD ?

Pouvons-nous récupérer la structure des tables MySQL uniquement à partir des fichiers FRM et IBD ?

Barbara Streisand
Libérer: 2025-01-07 19:06:41
original
404 Les gens l'ont consulté

Can We Recover MySQL Table Structure from FRM and IBD Files Only?

Récupérer les structures de tables MySQL à partir des fichiers FRM et IBD uniquement

Question :

Les utilisateurs rencontrent souvent des situations dans lesquelles ils doivent restaurer une base de données mais ne peuvent accéder qu'aux fichiers FRM et IBD.

La structure de la table peut-elle être restaurée ?

Oui, la structure de la table peut être restaurée à partir du fichier FRM même sans le fichier IB_LOG.

Étapes :

1. Extrayez l'instruction de création SQL du fichier FRM :

  • Installez les utilitaires MySQL.
  • Utilisez la commande mysqlfrm --diagnostic pour générer des instructions de création SQL pour chaque fichier FRM.
  • La sortie contiendra des instructions similaires à :
CREATE TABLE `example_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(150) NOT NULL,
  `photo_url` varchar(150) NOT NULL,
  `password` varchar(600) NOT NULL,
  `active` smallint(6) NOT NULL,
  `plan` int(11) NOT NULL,
  PRIMARY KEY `PRIMARY` (`id`)
) ENGINE=InnoDB;
Copier après la connexion

2. Utilisez des instructions SQL pour créer des tables :

  • Supprimez toutes les tables existantes (si nécessaire).
  • Exécutez l'instruction SQL create obtenue à l'étape 1 pour créer une table avec la même structure que la table d'origine.

3. Récupérer des données :

  • Utilisez la commande suivante pour supprimer les nouvelles données de la table :
ALTER TABLE example_table DISCARD TABLESPACE;
Copier après la connexion
  • Supprimez le fichier IBD correspondant dans le répertoire de la table.
  • Copiez les fichiers IBD originaux dans le répertoire :
cp backup/example_table.ibd /path/to/example_table.idb
Copier après la connexion
  • Assurez-vous que le fichier IBD possède la propriété et les autorisations appropriées.
  • Importer les anciennes données :
ALTER TABLE example_table IMPORT TABLESPACE;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal