Ce que j'ai appris de Google Recherche:
Avec des tables MyISAM, vous pouvez simplement copier les fichiers FRM, MYD et MYI. Dans le dossier pour la DB, j'essaie de récupérer, il n'y a que des fichiers FRM et un fichier "db.opt", ils ne doivent donc pas être des tables myisam.
Situation:
Mon ordinateur s'est écrasé, mais les données sont toujours sur le disque dur. Le serveur MySQL 5.5.8 a été installé avec WAMP sur l'ordinateur écrasé.
J'ai essayé de copier tout le dossier de données, mais MySQL crée uniquement une base de données vierge - aucune tables.
Il y a un fichier FRM pour chacune des tables que je souhaite récupérer. Cependant, ils ne sont pas des fichiers texte lisibles. Y a-t-il un moyen de récupérer la structure de la table à partir de ces fichiers?
Ce post https: //stactverflow.com/a/7688688/1188138 indique que la structure est en fait dans ces fichiers, mais ne fournit pas de méthode de récupération.
Merci beaucoup - j'ai essayé tout ce que je peux penser.
Si vous ne voyez que les fichiers .frm, il existe une forte probabilité que le moteur de stockage utilisé était InnoDB et Innodb_File_per_Table devait être désactivé par défaut.
Si vous avez tout transféré de DataDir sur le serveur écrasé sur un autre disque sur une autre machine, vous pourrez peut-être démarrer MySQL avec ce dossier tel quel.
Par exemple, Supposons que Servera est votre serveur écrasé et Serverb est l'endroit où vous le souhaitez.
net stop mysql
sur serveurb pour vous assurer que MySQL est en panne sur Serverbmd C:\MySQLData
sur serveurbAjouter ceci à my.ini sur serveurb
[mysql]
datadir=C:/MySQLData
C:\> del C:\MySQLData\ib_logfile*
sur serveurbnet start mysql
sur serveurbS'il vous plaît essayez-le et dites-nous ce qui s'est passé
Depuis que vous avez été capable de récupérer tout maintenant faites ceci:
mysqldump -u... -p... -A -d --routines --triggers > C:\MySQLSchema.sql
Cela donnera toutes les structures de table dans l'instance MySQL.
Si vous avez copié les fichiers vers le nouvel emplacement, vous avez probablement copié les fichiers avec les autorisations de votre utilisateur.
MySQL aura besoin de la permission de lire/écrire dans le répertoire de données.
À Twindb, nous avons construit une interface Web pour mysqlfrm
. C'est gratuit et facile à utiliser.
Pour récupérer la structure de table à partir de laquelle vous avez juste besoin de télécharger le fichier .frm.
Voici des étapes. 1. Ouvrez https://recovery.twindb.com/ . Cliquez sur "Récupérer la structure"
Sur le point de vue suivant, cliquez sur "Parcourir" et sélectionnez un fichier .frm sur un disque local. Cliquez sur "Télécharger"
Il est également possible de télécharger une archive avec un tas de fichiers .frm. Le site les récupérera complètement.