Mysql
 sql >> Database >  >> RDS >> Mysql

In che modo MySQL memorizza i dati

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.