Questa domanda è un po' vecchia ma ho deciso di rispondere comunque poiché ho scavato un po' sullo stesso. La mia risposta si basa sul file system di Linux. Fondamentalmente MySQL memorizza i dati nei file nel tuo disco rigido. Memorizza i file in una directory specifica che ha la variabile di sistema "datadir". Apertura di un mysql
console ed eseguire il comando seguente ti dirà esattamente dove si trova la cartella.
mysql> SHOW VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)
Come puoi vedere dal comando precedente, la mia "datadir" si trovava in /var/lib/mysql/
. La posizione di "datadir" può variare in diversi sistemi. La directory contiene cartelle e alcuni file di configurazione. Ogni cartella rappresenta un database mysql e contiene file con dati per quel database specifico. di seguito è riportato uno screenshot della directory "datadir" nel mio sistema.
Ogni cartella nella directory rappresenta un database MySQL. Ogni cartella del database contiene file che rappresentano le tabelle in quel database. Ci sono due file per ogni tabella, uno con un .frm
estensione e l'altro con un .idb
estensione. Vedi screenshot qui sotto.
Il .frm
Il file table memorizza il formato della tabella. Dettagli:Formato file MySQL .frm
Il .ibd
file memorizza i dati della tabella. Dettagli:Spazi tabella file per tabella InnoDB
Questo è tutto gente! Spero di aver aiutato qualcuno.