MySQL confirmation

Résolu
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,
je suis en 2eme année de DUT informatique je suis entrain de faire mon stage de fin d'année et mon tuteur m'a mis le doute sur les bases de données MySQL.
Il m'assure que lorsque je créé une BDD MySQL innoDB il y à un seul fichier de généré qui contient toutes la base, alors que pour moi je pense qu'il y a un dossier avec le nom de la base puis des fichier .FRM et .IBD pour chaques tables.
est-ce que je me trompe?
Merci de vos réponse

2 réponses

Judge_DT Messages postés 29412 Date d'inscription   Statut Modérateur Dernière intervention   9 670
 
Salut,

Les deux solutions existent, en réalité.

Tout dépends ce que le paramètre "innodb-file-per-table" dit.

Si il est à "1" tu auras un fichier par database + un tablespace commun
Si il est à "0" tu auras un seul gros fichier.

Toutes les informations par ici : https://dev.mysql.com/doc/refman/5.7/en/tablespace-enabling.html

Bien à toi,
0
babagreen Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   1
 
ah okay merci pour ta réponse elle m'est bien utile merci :)
Mais il se trouve bien dans le fichier my du dossier conf_file?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
C''est une option à activer
https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_file_per_table

Par contre... je persiste... c'est déconseillé et pas vraiment fait pour ça (transférer les BDD d'un serveur à un autre)
 You cannot move InnoDB tables between databases simply by moving the .frm files. 

https://dev.mysql.com/doc/refman/5.6/en/innodb-frm-file.html


0
babagreen Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   1
 
Donc je récapitule à la création de ma base je veut 1 seul gros fichier qui la contienne.
je dois rajouter la ligne
[mysqld]
innodb_file_per_table=0

dans le fichier my ou directement en sql avec: innodb_file_per_table=OFF;
?
0