Restaurer la structure de la table de frm et mici fichiers
Je suis en train de restaurer une base de données dans les PMA, mais seulement d'avoir accès à la frm de mici et fichiers - pas la ib_log fichiers que je comprends, vous avez besoin d'.
Je sais que je risque de ne pas être en mesure de récupérer les données de la base, mais est-il possible de récupérer la structure des tables de la frm fichiers?
OriginalL'auteur Dan Leach | 2014-11-11
Vous devez vous connecter pour publier un commentaire.
J'ai restauré la table à partir de seulement
.frm
et.idb
fichiers.Tout d'abord, j'ai installé MySQL Utilitaires sur mon ordinateur portable.
Ensuite, vous pouvez utiliser
mysqlfrm
de commande dans l'invite de commande(cmd).Deuxième, j'ai eu les requêtes sql à partir de
.frm
fichiers à l'aide demysqlfrm
commande dans cmd.Alors vous pouvez obtenir la requête sql pour créer même tableau structuré.
Comme ceci:
J'ai créé une table à l'aide de la requête sql.
Cette enlevés, les connexions entre les nouveaux
.frm
fichier et.idb
fichier.Également supprimé .la bid fichier dans le dossier.
.idb
fichier dans un nouveau dossier.Et j'ai couru à cette requête pour importer des données anciennes.
Cette données importées à partir de
.idb
fichier et enfin, j'ai restauré la vieille table de données.Je suis sûr que cela va vous aider.
Merci.
wallipop
.categories
."J'ai corrigé que par la modification de la propriété de fichier mais maintenant, je suis "#1808 - incompatibilité de Schéma (Tableau a ROW_TYPE_DYNAMIC format de ligne .mici fichier a ROW_TYPE_COMPACT format de ligne)."
OriginalL'auteur Jin Lin
InnoDB besoins de la ib_log fichiers pour la récupération de données, mais il a aussi besoin de la ibdata1 fichier qui contient le dictionnaire de données et contient parfois des données en attente pour les tables.
Le dictionnaire de données est une sorte de double système qui enregistre la structure des tables et correspond également à une table id de la physique .mici fichier qui contient les données de la table.
Vous ne pouvez pas vous déplacer .mici fichiers sans InnoDB dictionnaire de données, et le dictionnaire de données doit correspondre à l'id de tableau à l'intérieur de la .mici fichier. Vous peut rattacher une .mici de fichier et de récupérer les données, mais la procédure n'est pas pour les faibles de cœur. Voir http://www.chriscalender.com/recovering-an-innodb-table-from-only-an-ibd-file/
Vous pouvez récupérer la structure à l'aide de l' .frm fichiers avec le fichier de la tricherie, mais vous ne serez pas en mesure de créer les tables InnoDB au premier abord. Voici un blog qui couvre une méthode pour la récupération .les fichiers frm comme les tables MyISAM:
http://www.percona.com/blog/2008/12/17/recovering-create-table-statement-from-frm-file/
Vous ne serez pas en mesure d'utiliser la PMA pour cela. Vous avez besoin de super-utilisateur d'accès au répertoire de données sur le serveur.
OriginalL'auteur Bill Karwin
Vous pouvez récupérer la structure de la table .frm des fichiers et des données à partir de mici fichiers.
À l'aide de mysqlfrm outil qui fait partie de MySQL Utilitaires
shell> mysqlfrm --diagnostic myfile.frm
Recréer la table dans une base de données du même nom à l'aide du tableau de la structure.
mysql> CREATE mytable (int i);
Jeter le tablespace de la table nouvellement créée.
mysql> ALTER TABLE mytable DISCARD TABLESPACE;
Copie de l'orphelin .la bid fichier à partir de votre répertoire de sauvegarde de la nouvelle base de données d'annuaire. S'assurer que l' .mici fichier possède les autorisations de fichier.
Importation de l'orphelin .mici fichier. Un avertissement est émis, indiquant que InnoDB va tenter d'importer le fichier sans aucun schéma de vérification.
mysql> ALTER TABLE r IMPORT TABLESPACE;SHOW WARNINGS;
OriginalL'auteur igorsf
Ce est en fait assez facile aussi longtemps que vous savez comment le faire, et aucun logiciel externe ou de commandes shell sont nécessaires.
La base de données les données sont stockées dans C:\xampp\mysql\data\ ou similaire par défaut. Les dossiers sont les tables de base de données. À l'intérieur de chaque dossier, l' .fichier frm sont les colonnes. L' .mici tenir la ligne des valeurs.
D'abord créer la base de données(s) dans PHPMyAdmin.
Obtenir la requête SQL générée à partir de ce site, dans le menu de Récupérer la structure >.fichier frm:
https://recovery.twindb.com/
Le téléchargement .frm fichier, puis copiez et collez ces requêtes dans la commande SQL pour créer les tables dans PHPMyAdmin.
Puis, sur chaque table, faire la requête SQL:
Cela va automatiquement supprimer les nouveaux .mici fichier à partir du répertoire de base de données.
Copiez le vieux .mici fichier dans le dossier de base de données.
Exécutez la commande suivante pour activer de nouveau la table:
Et c'est tout! Vous devriez être en mesure de visualiser et d'accéder à toutes vos anciennes valeurs.
OriginalL'auteur Marcus Edensky