Réécrire moteur MySQL
babagreen
Messages postés
102
Date d'inscription
Statut
Membre
Dernière intervention
-
babagreen Messages postés 102 Date d'inscription Statut Membre Dernière intervention -
babagreen Messages postés 102 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Etant donner que je n'ai trouver aucun moteur MySQL me permettant de créer 1 fichier contenant toutes les tables (je rappel que MySQL génère habituellement un dossier portant le nom de la base puis des fichier pour chaque tables).
Pour répondre à la demande qui m'est poser je dois réécrire un moteur MySQL qui au lancement du script de création de la base génère un et un seul fichier pour toutes la base ce fichier devras contenir les structure de table, les indexes,... Mais pour ça j'aimerais avoir vos avis, comment bien s'y prendre pour réécrire un moteur MySQL?
(Pour tous ceux qui voudrais me dire d'utiliser le moteur InnoDB en mettant file-per-table à 0 ou à 1 ce n'est pas la solution à mon problème car le file-per-table porte bien son nom il permet de créer un ou plusieurs fichiers par table.)
Merci.
Etant donner que je n'ai trouver aucun moteur MySQL me permettant de créer 1 fichier contenant toutes les tables (je rappel que MySQL génère habituellement un dossier portant le nom de la base puis des fichier pour chaque tables).
Pour répondre à la demande qui m'est poser je dois réécrire un moteur MySQL qui au lancement du script de création de la base génère un et un seul fichier pour toutes la base ce fichier devras contenir les structure de table, les indexes,... Mais pour ça j'aimerais avoir vos avis, comment bien s'y prendre pour réécrire un moteur MySQL?
(Pour tous ceux qui voudrais me dire d'utiliser le moteur InnoDB en mettant file-per-table à 0 ou à 1 ce n'est pas la solution à mon problème car le file-per-table porte bien son nom il permet de créer un ou plusieurs fichiers par table.)
Merci.
A voir également:
- Réécrire moteur MySQL
- Mysql community server - Télécharger - Bases de données
- Google moteur de recherche page d'accueil - Guide
- Moteur ecoboost - Guide
- Copernic moteur de recherche - Télécharger - Navigateurs
- Moteur de recherche 1fichier - Forum Téléchargement
5 réponses
Bonjour,
De tes précédentes questions je n'ai pas compris le pourquoi de cette demande ?
Après réécrire un nouveau moteur mysql, ce sont surement des années/hommes de travail. Tu peux aussi modifier les sources existants, Mysql étant open/source.
Tu devrais commencer par récupérer les sources et les compiler/linker pour générer ton propre noyau. c'est la première étape pour pouvoir développer.
Puis dans les sources tu t'attaques au répertoire /innobase qui contient les sources de cette partie et tu les modifies à ton gout.
Quelqu'un a commencé le travail pour toi, il a recensé ces sources et leur objet : https://dev.mysql.com/doc/internals/en/files-in-innodb-sources.html
;-)
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
De tes précédentes questions je n'ai pas compris le pourquoi de cette demande ?
Après réécrire un nouveau moteur mysql, ce sont surement des années/hommes de travail. Tu peux aussi modifier les sources existants, Mysql étant open/source.
Tu devrais commencer par récupérer les sources et les compiler/linker pour générer ton propre noyau. c'est la première étape pour pouvoir développer.
Puis dans les sources tu t'attaques au répertoire /innobase qui contient les sources de cette partie et tu les modifies à ton gout.
Quelqu'un a commencé le travail pour toi, il a recensé ces sources et leur objet : https://dev.mysql.com/doc/internals/en/files-in-innodb-sources.html
;-)
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Ton tuteur il s'y connait ou pas ? Il n'est pas en train de titiller pour que tu cherches ?
Quand on cherche un peu : https://dev.mysql.com/doc/refman/8.0/en/innodb-multiple-tablespaces.html
Et de ce que je comprends il y a
Quand on cherche un peu : https://dev.mysql.com/doc/refman/8.0/en/innodb-multiple-tablespaces.html
Et de ce que je comprends il y a
innodb_file_per_table=1, mais pas =0, pour l'enlever il faut supprimer la ligne.
Bonjour
Es-tu sûr d'avoir bien compris ce que voulait ton demandeur ?
Ça m'étonne que ton demandeur exige que la base FONCTIONNE avec un fichier unique : pour s'intéresser à la façon dont la base marche, il faut avoir des compétences et quand on a ces compétences, on connaît l'ampleur du travail que ça représente, on ne confie pas ça a un stagiaire. À moins d'un besoin spécifique, mais j'aimerais bien en connaître la justification tant ça semble absurde.
Tu es sûr que ce n'est pas seulement pour l'installation, la sauvegarde ou le transfert qu'il veut un fichier unique ? Là ce serait une demande sensée et dont on voit l'intérêt.
Es-tu sûr d'avoir bien compris ce que voulait ton demandeur ?
Ça m'étonne que ton demandeur exige que la base FONCTIONNE avec un fichier unique : pour s'intéresser à la façon dont la base marche, il faut avoir des compétences et quand on a ces compétences, on connaît l'ampleur du travail que ça représente, on ne confie pas ça a un stagiaire. À moins d'un besoin spécifique, mais j'aimerais bien en connaître la justification tant ça semble absurde.
Tu es sûr que ce n'est pas seulement pour l'installation, la sauvegarde ou le transfert qu'il veut un fichier unique ? Là ce serait une demande sensée et dont on voit l'intérêt.
On ne le donne encore moins à un stagiaire de 2eme année de DUT info
Oui il l'a très clairement dis depuis 2semaine il veut un fichier comme pourrait proposer access avec ses fichier.mdb
mais en MySQL j'ai deja essayer de lui montrer j'ai créer une base en local, traduit sa base access en MySQL mais non il ne veut pas qu'il y est plusieurs fichiers (pour ma part je trouve ça stupide autant utiliser access qui le fait très bien).
Ces justification: aucune, juste vouloir passer de access à MySQL. Et bien sur n'avoir qu'un seul fichier, car il est persuader qu'on lui à déjà donner une base MySQL comme ça une fois..
Oui il l'a très clairement dis depuis 2semaine il veut un fichier comme pourrait proposer access avec ses fichier.mdb
mais en MySQL j'ai deja essayer de lui montrer j'ai créer une base en local, traduit sa base access en MySQL mais non il ne veut pas qu'il y est plusieurs fichiers (pour ma part je trouve ça stupide autant utiliser access qui le fait très bien).
Ces justification: aucune, juste vouloir passer de access à MySQL. Et bien sur n'avoir qu'un seul fichier, car il est persuader qu'on lui à déjà donner une base MySQL comme ça une fois..
car il est persuader qu'on lui à déjà donner une base MySQL comme ça une fois
C'est bien pour ça que je parle d'installation ou de transfert de la base.
Oui, avec mysql, tu peux très bien donner une base complète à quelqu'un en un seul fichier, il n'y a aucun problème. À mon avis, c'est de ça qu'il parle.
T'a-t-il vraiment dit : "non, pas seulement pour le transfert, je veux que le moteur travaille directement sur un seul fichier" ?
C'est bien pour ça que je parle d'installation ou de transfert de la base.
Oui, avec mysql, tu peux très bien donner une base complète à quelqu'un en un seul fichier, il n'y a aucun problème. À mon avis, c'est de ça qu'il parle.
T'a-t-il vraiment dit : "non, pas seulement pour le transfert, je veux que le moteur travaille directement sur un seul fichier" ?
Peut-être que ça va t'éclairé sur ce qu'il veut: lorsque je lance mon script de création et d'insertion il regarde le dossier ou la base se crée et il voudrait 1 seul fichier dedans et non pas 1 fichier.frm par table.
Dans mon cas je suis le chemin:K:\Stage\Stage\EasyPHP-DevServer-14.1VC11\binaries\mysql\data\movedb
Ensuite dans le dossier movedb il y a le fichier db.opt (normal) puis les fichier table1.frm, table2.frm, ect...
et lui il ne voudrais as tous ces fichier.frm lors de la création..
Dans mon cas je suis le chemin:K:\Stage\Stage\EasyPHP-DevServer-14.1VC11\binaries\mysql\data\movedb
Ensuite dans le dossier movedb il y a le fichier db.opt (normal) puis les fichier table1.frm, table2.frm, ect...
et lui il ne voudrais as tous ces fichier.frm lors de la création..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu pourrais explorer aussi ces pistes :
- le tablespace
- le raw device (mais attention à la lecture on ne sait pas bien si le raw device va s'approprier la partition D: ou juste creer un fichier)
et j'ai eu la bonne idée de lui dire que la seul solution pour arrivé ce résultat c'étais reprendre les sources et de modifier tous ça pour avoir un moteur qui ne génère pas un dossie puis plusieur fichier .frm, mais bien un moteur qui créé un seul et unique fichier.
Mon demandeur ne voulant pas accepter qu'il à mal compris je n'ai pas le choix de faire ce moteur sinon je perd mon stage et le diplôme qui va avec
Je ne connais pas mysql. Mais tu devrais faire des recherches sur ibdata1.
Car lui son soucis c'est que toutes les tables étaient dans un seul fichier : http://snailitblog.puechaldou.com/2013/05/23/tip-mysql-innodb_file_per_table-ou-comment-utiliser-des-fichiers-de-table-separes-pour-eviter-le-manque-despace-disque/
merci de tes réponses