-
copier une bdd Innodb
Bonjour,
est-il possible de recupérer une base de données dont les tables sont gérés par le moteur Innodb par un simple copier coller du répertoire de la bdd?
Je n'ai réussi qu'en copiant le repertoire de la bdd + le fichier ibdata1. Or j'ai ajouté dans mon fichier my.ini la ligne :
innodb_file_per_table
donc je devrais retouver les index et les données dans ces fichiers ??? non ?
mais si je copie que le repertoire sans le fichier ibdata1 ça ne marche pas. Auriez-vous svp des suggestions ?
Merci
-
personne n'a déjà réalisé cette manip ?
on est obligé de passer par un phpmyadmin pour extraire les données par exemple ?
-
Il faut déjà voir quand l'option a été ajoutée car : "innodb_file_per_table affects only table creation, not access to existing tables."
Et même comme ça ça ne semble pas gagné d'avance : "Note: You cannot freely move .ibd files between database directories as you can with MyISAM table files."
Pour plus de détails : http://dev.mysql.com/doc/refman/4.1/...blespaces.html
En bas il y a peut-être des suggestions en jouant avec 'ALTER TABLE'. Si la structure existe déjà... peut-être...
Mais arrivé à ce niveau de complexité je crois qu'il vaut mieux tout copier ou faire un dump :?
-
effectivement tu as raison je viens de lire le lien que tu m'as donné.
C'est exactement pareil pour les versions suivantes de mysql (5.0 / 5.1).
Si j'ai bien tout compris c'est pour préserver la manipulation sur les transactions, notament leurs ordre. Cette manipulation est conditionnée par ce qu'il appelle le dictionnaire interne des données (traduction un peu hazardeuse) et qui serait donc stocké dans le fichier ibdata1. Alors que l'historique des transactions (ou journal des transactions) quant à elles sont dans les fichiers id_logfile01 et id_logfile02 (par défaut pour le nombre).
Si je fais un amalgame ou suis carrément à coté de la plaque, n'hésite pas à me le dire. Ca sous entendra juste qu'il faut que je fasse un gros éffort de compréhension en reprenant tout ça.
En tout cas, merci pour ton aide :D
-
Je ne connais pas le détail des transactions mais c'est effectivement une question de données centralisées dans ibdata.
Et je viens de voir en bas dans les commentaires qu'entre deux serveurs différents ce n'était même pas la peine d'essailler avec les 'ALTER' :(
Ben, vive mysqldump ? :aie: