Maison > Article > base de données > Comment récupérer les données de la table InnoDB MySQL à partir des fichiers ibdata et frm ?
MySQL Server utilise deux types de moteurs de stockage de bases de données : InnoDB et MyISAM. Lorsque le moteur de stockage InnoDB est utilisé, le serveur MySQL stocke les données et les index dans le fichier .ibdata et le schéma de table dans le fichier .frm. En cas de corruption des tables InnoDB, vous pouvez facilement récupérer les données des tables InnoDB MySQL à partir des fichiers .ibdata et .frm, au lieu de restaurer la sauvegarde complète de la base de données. Dans cet article, nous verrons comment récupérer les données des fichiers .ibdata et .frm dans MySQL Server.
Voici le processus étape par étape pour récupérer les données des tables InnoDB à partir des fichiers .frm et .ibdata dans MySQL Server :
Vous devez d'abord créer une nouvelle base de données MySQL. Pour cela, connectez-vous à PhpMyAdmin, cliquez sur l'option Bases de données, saisissez un nom de base de données (par exemple Clients), puis cliquez sur Créer.
Ensuite, allez dans le dossier de votre installation XAMPP pour vérifier la base de données nouvellement créée. L'emplacement par défaut est C:xamppmysqldata.
Lorsque vous ouvrez la nouvelle base de données, vous constaterez qu'elle ne contient aucune table. Pour créer la table, vous avez besoin du schéma de table. Si vous disposez d'un fichier de sauvegarde mis à jour, vous pouvez obtenir le schéma et le nom de la base de données. Vous pouvez utiliser le même nom pour créer la table. Mais si vous n'avez pas de sauvegarde, vous pouvez utiliser le fichier .frm pour extraire le schéma de la table. Il existe divers utilitaires fiables disponibles en ligne qui peuvent vous aider à extraire le schéma de la table.
Utilisez maintenant le même schéma pour créer une table dans la base de données nouvellement créée.
Une fois la table créée, elle créera automatiquement de nouveaux fichiers .frm et .ibd dans le dossier de la base de données.
Ensuite, accédez à votre dossier d'installation XAMPP et supprimez le fichier .ibd.
Ensuite, copiez le fichier .ibd original et collez-le dans la nouvelle base de données.
Avant de copier le fichier .ibd original, exécutez la requête ci-dessous :
ALTER TABLE nom_table DISCARD TABLESPACE;
Remarque : La commande DISCARD TABLESPACE rompra le lien entre la table MySQL et le tablespace, permettant ainsi d'éviter les incohérences et autres problèmes.
Ensuite, restaurez le lien entre la table MySQL et Tablespace en utilisant la commande ci-dessous :
ALTER TABLE nom_table IMPORT TABLESPACE;
Remarque : Vous pouvez restaurer les données d'une seule table à la fois à l'aide des fichiers .frm et .ibd. Si vous devez restaurer plusieurs tables, cela prendra beaucoup de temps car vous devrez effectuer manuellement toutes les étapes pour chaque table.
Pour restaurer rapidement et facilement plusieurs tables InnoDB à la fois à partir de la base de données du serveur MySQL, vous pouvez utiliser un outil professionnel de récupération de base de données MySQL. Stellar Repair for MySQL est l'un de ces outils faciles à utiliser qui peut récupérer des tables InnoDB et d'autres données, telles que des clés primaires, des vues, des déclencheurs, etc. à partir de bases de données MySQL corrompues ou endommagées. L'outil dispose d'une interface utilisateur riche et interactive qui vous aide à effectuer l'opération de réparation et de récupération rapidement en quelques étapes simples.
Voici quelques fonctionnalités clés de Stellar Repair for MySQL :
Prend en charge MySQL Server 8.0.36 et les versions inférieures
Prend en charge toutes les versions de MariaDB jusqu'à 11.3.2
Restaure toutes les données des bases de données MySQL, y compris les enregistrements supprimés et les tables de partition
Répare les tables MySQL avec une précision totale
Fournit un aperçu amélioré des données réparées avant de les enregistrer
Permet de réparer plusieurs bases de données à la fois
Vous permet d'enregistrer la base de données MySQL réparée dans plusieurs formats, comme MySQL, MariaDB, SQL Script, CSV, HTML et XLS
Compatible avec les systèmes d'exploitation Windows et Linux, y compris CentOS 7 (64 bits) / Red Hat Enterprise Linux 7 (64 bits) et Ubuntu 16.04 (32 bits et 64 bits) / Ubuntu 18.04 et 19.10 (64 bits)
Ci-dessus, nous avons expliqué le processus détaillé étape par étape pour récupérer les données de la table InnoDB MySQL à partir des fichiers ibdata et .frm. Cependant, cela ne convient pas à la restauration de plusieurs tables car vous devez effectuer toutes les étapes manuellement pour chaque table. Alternativement, vous pouvez utiliser un outil professionnel de récupération de base de données MySQL, tel que Stellar Repair for MySQL, qui peut vous aider à extraire tous les objets, y compris les tables, les clés primaires, les vues, les déclencheurs, etc. des fichiers de base de données corrompus en toute intégrité. L'outil prend en charge la réparation des bases de données créées à l'aide des moteurs de stockage InnoDB et MyISAM. Il est conçu pour résoudre un large éventail d’erreurs liées à la corruption dans la base de données MySQL. Une version de démonstration gratuite de Stellar Repair for MySQL est également disponible et permet d'analyser le fichier de base de données et de prévisualiser les données récupérables.
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!