phpMyAdmin
 sql >> Base de données >  >> Database Tools >> phpMyAdmin

comment restaurer mes tables MYI, MYD à partir de .FRM

Le .frm les fichiers contiennent uniquement des métadonnées sur la structure de la table. Ils ne contiennent pas vos données.

Pour une table MyISAM, le .MYD le fichier est essentiellement la table (sans métadonnées ni index) ; s'il a disparu, vos données ont disparu. Il existe probablement un moyen de générer des fichiers "vides" et de recommencer, mais oui. Sans eux, vous n'avez aucune donnée.

Le .MYI les fichiers contiennent des index, AFAIK. Ceux-ci peuvent être régénérés, mais pas sans les données.

Si vos tables étaient des tables InnoDB, cependant, vous pourriez avoir de la chance. Il n'y aura pas de .MYD ou .MYI pour les tables InnoDB ; les données qui auraient été dedans seront plutôt dans ibdata1 . Vous pourrez peut-être (après avoir arrêté mysqld) simplement faufiler le .frm et ib* fichiers dans les positions correctes et laissez mysqld les voir quand il redémarre.

Bien sûr, cela ne fonctionnera pas si vous avez déjà Fichiers de données InnoDB - ou plutôt, si c'est le cas, vous finirez par perdre toutes les tables InnoDB existantes. Dans ce cas, cependant, vous pouvez placer les fichiers dans un autre répertoire et démarrer une instance mysqld pointant vers ce répertoire. Cela vous suffirait pour mysqldump une table en SQL, vous pouvez donc l'importer dans la nouvelle base de données.