Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment MySQL stocke les données

Cette question est un peu ancienne mais j'ai décidé d'y répondre quand même puisque j'ai creusé la même chose. Ma réponse est basée sur le système de fichiers Linux. En gros, mySQL stocke les données dans des fichiers sur votre disque dur. Il stocke les fichiers dans un répertoire spécifique contenant la variable système "datadir". Ouvrir un mysql console et l'exécution de la commande suivante vous indiquera exactement où se trouve le dossier.

mysql>  SHOW VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)

Comme vous pouvez le voir dans la commande ci-dessus, mon "datadir" était situé dans /var/lib/mysql/ . L'emplacement du "datadir" peut varier selon les systèmes. Le répertoire contient des dossiers et certains fichiers de configuration. Chaque dossier représente une base de données mysql et contient des fichiers avec des données pour cette base de données spécifique. ci-dessous est une capture d'écran du répertoire "datadir" dans mon système.

Chaque dossier du répertoire représente une base de données MySQL. Chaque dossier de base de données contient des fichiers qui représentent les tables de cette base de données. Il y a deux fichiers pour chaque table, un avec un .frm extension et l'autre avec un .idb extension. Voir capture d'écran ci-dessous.

Le .frm table fichier stocke le format de la table. Détails :Format de fichier MySQL .frm

Le .ibd fichier stocke les données de la table. Détails :Tablespaces fichier par table InnoDB

C'est ça les gens! J'espère avoir aidé quelqu'un.