To pytanie jest trochę stare, ale i tak postanowiłem na nie odpowiedzieć, ponieważ trochę kopałem na tym samym. Moja odpowiedź opiera się na systemie plików Linux. Zasadniczo mySQL przechowuje dane w plikach na dysku twardym. Przechowuje pliki w określonym katalogu, który ma zmienną systemową „datadir”. Otwieranie mysql
konsoli i uruchomienie następującego polecenia powie dokładnie, gdzie znajduje się folder.
mysql> SHOW VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)
Jak widać z powyższego polecenia, mój „datadir” znajdował się w /var/lib/mysql/
. Lokalizacja „datadir” może się różnić w różnych systemach. Katalog zawiera foldery i niektóre pliki konfiguracyjne. Każdy folder reprezentuje bazę danych mysql i zawiera pliki z danymi dla tej konkretnej bazy danych. poniżej znajduje się zrzut ekranu katalogu „datadir” w moim systemie.
Każdy folder w katalogu reprezentuje bazę danych MySQL. Każdy folder bazy danych zawiera pliki reprezentujące tabele w tej bazie danych. Dla każdej tabeli są dwa pliki, jeden z .frm
rozszerzenie i inne z .idb
rozbudowa. Zobacz zrzut ekranu poniżej.
.frm
plik tabeli przechowuje format tabeli. Szczegóły:Format pliku MySQL .frm
.ibd
plik przechowuje dane tabeli. Szczegóły:Przestrzenie tabel InnoDB File-Per-Table
To wszystko ludzie! Mam nadzieję, że komuś pomogłem.