Restauration de base de données MySQL MyISAM
J'ai restaurer une base de données qui a été, par inadvertance Tombé dans MySQL 5.0. De vérifier la sauvegarde des fichiers, je ne semblent avoir .Les fichiers FRM pour contenir les données de la base.
Quelqu'un peut-il préciser si c'est tout ce que je besoin pour effectuer une restauration de base de données/importer à partir de la sauvegarde, ou existe-il d'autres fichiers que je devrait avoir à la main pour compléter ce?
source d'informationauteur Jaymie Thomas
Vous devez vous connecter pour publier un commentaire.
.frm fichiers ne sont pas les fichiers de données, ils suffit de stocker le "dictionnaire de données de l'information" (voir Manuel MySQL). MyISAM stocke ses données dans ib_logfile* les fichiers. C'est ce que vous avez besoin afin de faire une sauvegarde/restauration. Pour plus de détails, voir ici.
Restauration innodb:
(en supposant que votre dossier de données est C:\ProgramData\MySQL\MySQL Server 5.5\data)
Copier les 3 ibdata fichiers dans le dossier de données ex. (C:\ProgramData\MySQL\MySQL Server 5.5\data)
Obtenir la taille de la _ib_logfile0 en MO (il doit être le même que _ib_logfile1) par Fichier, faites un clic Droit -> Propriétés
Modifier le fichier de configuration de mysql (mysql\bin\mon.ini) pour la innodb_log_file_size=343M être exactement le ibdata la taille des fichiers
Exécuter
Maintenant vos données devrait être de retour dans votre base de données. De les exporter à l'aide de phpmysql, ou tout autre outil
Oh mon... vous êtes en difficulté. L'arrêt de la base de données. La sauvegarde de la innodb fichier. Priez que vous n'avez RIEN fait après que vous avez supprimé de la base de données.
Les gars de Percona (comprend les auteurs de Performances MySQL Blog) devrait être en mesure pour vous aider: Percona soutien en cas d'urgence.
Si vous ne aventurer sur votre propre, prendre cela avec vous: Récupération de données de boîte à outils pour Innodb.
La logistique? Vous devez lire toutes les pages (l'ordinateur à terme page... 16k bloc dans le cas d'Innodb) et reconstruire vos données de cette façon. C'est de très faible intensité de travail (on parle d'ouvrir votre éditeur hexadécimal et commencer à compter les octets si le toolkit ne pas le faire pour vous), et si vous n'êtes pas fortement programmeur expérimenté, vous allez vous blesser.
La solution dans le détail vous pouvez trouver ici:
http://www.unilogica.com/mysql-innodb-recovery/ (Article en portugais)
D'ailleurs le drapeau de innodb_force_recoveryj'ai trouvé une autre solution: innodb_file_per_tablequi divise les tables MyISAM dans chaque fichier, comme les tables MyISAM.
Dans un accident de récupération, vous pouvez perdu moins de données que dans un seul fichier ibdata1.