Bonjour à vous,
J'ai récemment fait la douloureuse découverte d'une faiblesse notable de la version Opensource de MySQL. En effet, dans le cas particulier d'un plantage système, j'ai compris qu'il n'était pas possible de reconstruire une base de données InnoDB à partir des fichiers MySQL de cette base, ibdata1, ib_logfile0, ib_logfile1 ainsi que le dossier de la base de données avec tout son contenu, fichiers .frm, .ibd et .opt, même s'ils ne sont pas corrompus.
Le problème est simple à mettre en évidence, il suffit sur un serveur MySQL A parfaitement fonctionnel de construire une base de données InnoDB simple avec une petite table quelconque et quelques enregistrements. Puis de récupérer tous les fichiers ci-avant cités de cette mini-base et de tenter d'intégrer ces derniers sur un autre serveur MySQL de même version sur le même OS. C'est tout simplement impossible...
Je me suis alors posé plein de question, et j'ai même ouvert un post sur le sujet qui ne m'a permis que de comprendre que c'était impossible sans la mise en œuvre d'outils uniquement disponible dans les versions pro et nécessitant la conversion de la base à reconstruire en version pro. Donc, à moins d'avoir une version pro sous la main (ça coûte un bras) pour faire la manip histoire de récupérer un fichier SQL et reposer tout ça sur une version Opensource, il n'y a pas de solution.
Je me suis alors lancé un défit :
Écrire un programme en Java qui lirait ces fichiers MySQL afin de produire un fichier d'import SQL pour ensuite l'importer le plus simplement du monde via phpmyadmin par exemple.
Ok, seulement voilà, les fichiers en question ne sont pas des fichiers texte. Ils contiennent du texte, en les parcourant on peut même réussir à lire le texte représentant le contenu d'une table, mais pour le reste, c'est une question d'interprétation. Et là, je coince car je ne trouve aucune documentation sur le format de ces fichiers .ibd, pas plus pour les fichiers ibdata1 et ib_logfile ?!
Pourtant, il s'agit bien là de version Opensource ?!
Donc, voilà ma question : Existe-t'il une documentation sur le format des fichiers InnoDB de MySQL Opensource ? Et si oui, où puis-je les trouver ?
Merci à vous.
Partager