Co to jest format pliku MYD?
Plik .myd to komponent danych wierszy tabeli MySQL MyISAM. MyISAM przechowuje każdą tabelę jako trzy powiązane pliki o tej samej nazwie bazowej: table.frm przechowuje definicję schematu, table.MYD to ten plik - zawiera on rzeczywiste rekordy wierszy - a table.MYI przechowuje indeksy i metadane silnika.
Plik .myd zawiera wyłącznie surowe binarne dane wierszy bez własnych definicji kolumn. Nie można go odczytać w izolacji; do interpretacji rekordów wymagany jest plik definicji .frm oraz uruchomiony serwer MySQL lub MariaDB. Wiersze są przechowywane w jednym z trzech układów wewnętrznych: FIXED (wszystkie kolumny o stałej szerokości), DYNAMIC (domyślny, gdy obecne są kolumny VARCHAR lub BLOB) lub COMPRESSED (tabele tylko do odczytu, spakowane offline za pomocą myisampack).
Domyślnie rozmiar pliku jest ograniczony do 4 GB, ale można go zwiększyć do 256 TB, ustawiając opcje tabeli MAX_ROWS i AVG_ROW_LENGTH. Usunięte wiersze nie są natychmiast odzyskiwane - pozostają jako luki na liście wolnych miejsc do czasu uruchomienia OPTIMIZE TABLE. Opcjonalna suma kontrolna na żywo (CHECKSUM=1) pozwala silnikowi śledzić integralność na poziomie wierszy; narzędzie myisamchk oraz instrukcje SQL CHECK TABLE / REPAIR TABLE współpracują z towarzyszącym plikiem .MYI w celu diagnozowania i naprawy uszkodzeń.
MyISAM był domyślnym silnikiem pamięci masowej MySQL od wersji MySQL 3.23 (około 2001 r.) do MySQL 5.5 (2010 r.), kiedy to InnoDB stał się nowym standardem. Starsze bazy danych i obciążenia typu „głównie odczyt” nadal generują pliki .myd, które są obsługiwane zarówno przez MySQL, jak i MariaDB.
Bezpieczeństwo
RYZYKO: MEDIUMPlik .MYD to dane pasywne - nie zawiera kodu wykonywalnego - ale niesie ze sobą takie samo ryzyko operacyjne i prywatności, jak każdy plik bazy danych. Operacyjnie: nigdy nie kopiuj, nie przenoś ani nie usuwaj plików .MYD, gdy serwer MySQL jest uruchomiony, i nigdy nie oddzielaj pliku .MYD od pasujących plików .frm i .MYI ani nie mieszaj plików między niekompatybilnymi wersjami serwerów - powoduje to uszkodzenie lub „awarię” tabeli. Pod względem prywatności plik .MYD przechowuje rzeczywiste wiersze tabeli w postaci jawnej na dysku (MyISAM nie posiada szyfrowania), więc wyciek pliku .MYD stanowi naruszenie danych, ujawniając wszystko, co przechowywała tabela - rekordy użytkowników, e-maile, dane osobowe. Zawsze pracuj na kopiach i traktuj go jak wrażliwą bazę danych.
Szczegóły formatu
w pigułceProgramy otwierające pliki MYD
Szczegóły techniczne
specyfikacja| Rola pliku | Przechowuje surowe dane wierszy dla jednej tabeli MyISAM; nie zawiera schematu, indeksów ani metadanych silnika |
| Pliki towarzyszące | Zawsze sparowany z `table.frm` (schemat) i `table.MYI` (indeksy) w katalogu danych MySQL; te trzy pliki współdzielą tę samą nazwę bazową |
| Format wierszy | FIXED (kolumny o stałej szerokości), DYNAMIC (zmienna długość; domyślny, gdy obecne są kolumny VARCHAR lub BLOB) lub COMPRESSED (tylko do odczytu, spakowany za pomocą myisampack) |
| Kolejność bajtów | Little-endian |
| Kodowanie | Binarne - surowy binarny zbiór rekordów, brak kodowania tekstowego |
| Sygnatura pliku | Brak stałych bajtów magicznych lub czytelnej sygnatury ASCII; identyfikowany przez rozszerzenie oraz obecność plików towarzyszących .frm i .MYI |
| Domyślny limit rozmiaru pliku | 4 GB na plik danych tabeli |
| Maksymalny rozmiar pliku | Do 256 TB, konfigurowane za pomocą opcji tabeli MAX_ROWS i AVG_ROW_LENGTH podczas tworzenia tabeli |
| Obsługa usuniętych wierszy | Usunięte wiersze pozostawiają luki na wewnętrznej liście wolnych miejsc; miejsce jest odzyskiwane przez uruchomienie OPTIMIZE TABLE |
| Kompresja | Brak domyślnie; tabele tylko do odczytu mogą być pakowane offline za pomocą myisampack w celu uzyskania skompresowanego wariantu |
| Szyfrowanie | Brak natywnego szyfrowania na poziomie tabeli - znane ograniczenie MyISAM w porównaniu z InnoDB |
| Suma kontrolna i integralność | Opcjonalna suma kontrolna na żywo włączana opcją CHECKSUM=1; naprawa integralności przez myisamchk, CHECK TABLE lub REPAIR TABLE |
| Typ MIME | application/octet-stream |
| Obsługa platform | Wieloplatformowość: Linux, Windows, macOS, FreeBSD - wszędzie tam, gdzie działa MySQL lub MariaDB |
| Zastąpiony przez | Pliki .ibd InnoDB dla obciążeń transakcyjnych; InnoDB stał się domyślnym silnikiem MySQL w wersji 5.5 (2010) |
| Wydano | 2001 (MyISAM became the default MySQL engine in MySQL 3.23) |
| Najnowsza wersja | Still produced by any MySQL/MariaDB table using ENGINE=MyISAM (legacy default before InnoDB took over in MySQL 5.5, 2010) |
| Specyfikacja | dev.mysql.com |
Konwersje MYD
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki MYD.