sql >> Database >  >> RDS >> Mysql

Hoe slaat MySQL gegevens op?

Deze vraag is een beetje oud, maar ik heb besloten hem toch te beantwoorden omdat ik er wat over heb gegraven. Mijn antwoord is gebaseerd op het Linux-bestandssysteem. In principe slaat mySQL gegevens op in bestanden op uw harde schijf. Het slaat de bestanden op in een specifieke map met de systeemvariabele "datadir". Een mysql openen console en het uitvoeren van de volgende opdracht zal u precies vertellen waar de map zich bevindt.

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

Zoals je kunt zien aan de bovenstaande opdracht, bevond mijn "datadir" zich in /var/lib/mysql/ . De locatie van de "datadir" kan per systeem verschillen. De directory bevat mappen en enkele configuratiebestanden. Elke map vertegenwoordigt een mysql-database en bevat bestanden met gegevens voor die specifieke database. hieronder is een screenshot van de "datadir" map in mijn systeem.

Elke map in de directory vertegenwoordigt een MySQL-database. Elke databasemap bevat bestanden die de tabellen in die database vertegenwoordigen. Er zijn twee bestanden voor elke tabel, één met een .frm extensie en de andere met een .idb verlenging. Zie screenshot hieronder.

De .frm table-bestand slaat het formaat van de tabel op. Details:MySQL .frm-bestandsindeling

De .ibd bestand slaat de gegevens van de tabel op. Details:InnoDB File-Per-Table Tablespaces

Dat is het mensen! Ik hoop dat ik iemand heb geholpen.



  1. UUID-prestaties in MySQL?

  2. 5 manieren om hoofdletterongevoelig zoeken in SQLite te implementeren met volledige Unicode-ondersteuning

  3. Wanneer zou u een functie met tabelwaarde gebruiken?

  4. Kun je auto-increment gebruiken in MySql zonder dat dit de primaire sleutel is?