Wat is het MYD-bestandsformaat?
Een .myd-bestand is de rijgegevenscomponent van een MySQL MyISAM-tabel. MyISAM slaat elke tabel op als drie verwante bestanden die dezelfde basisnaam delen: table.frm bevat de schemadefinitie, table.MYI bevat de indexen en engine-metadata, en table.MYD bevat dit bestand - de daadwerkelijke rijrecords.
Het .myd-bestand bevat alleen ruwe binaire rijgegevens zonder eigen kolomdefinities. Het kan niet afzonderlijk worden gelezen; het .frm-definitiebestand en een draaiende MySQL- of MariaDB-server zijn vereist om de records te interpreteren. Rijen worden opgeslagen in een van de drie interne lay-outs: FIXED (alle kolommen vaste breedte), DYNAMIC (standaard wanneer VARCHAR- of BLOB-kolommen aanwezig zijn), of COMPRESSED (alleen-lezen tabellen die offline zijn ingepakt met myisampack).
Standaard is de bestandsgrootte beperkt tot 4 GB, maar dit kan worden verhoogd tot 256 TB door de tabelopties MAX_ROWS en AVG_ROW_LENGTH in te stellen. Verwijderde rijen worden niet onmiddellijk teruggewonnen - ze blijven als gaten op een vrije lijst staan totdat OPTIMIZE TABLE wordt uitgevoerd. Een optionele live checksum (CHECKSUM=1) stelt de engine in staat om de integriteit op rijniveau te bewaken; het hulpprogramma myisamchk en de SQL-instructies CHECK TABLE / REPAIR TABLE werken samen met het bijbehorende .MYI-bestand om corruptie te diagnosticeren en te herstellen.
MyISAM was de standaard MySQL-opslagengine van MySQL 3.23 (circa 2001) tot MySQL 5.5 (2010), toen InnoDB de nieuwe standaard werd. Verouderde databases en werklasten die voornamelijk uit leesbewerkingen bestaan, produceren vandaag de dag nog steeds .myd-bestanden, ondersteund door zowel MySQL als MariaDB.
Beveiliging & veiligheid
RISICO: MEDIUMEen .MYD is inerte data - het bevat geen uitvoerbare code - maar het brengt dezelfde operationele en privacyrisico's met zich mee als elk databasebestand. Operationeel: kopieer, verplaats of verwijder nooit .MYD-bestanden terwijl de MySQL-server draait, en scheid een .MYD nooit van de bijbehorende .frm en .MYI en mix geen bestanden tussen incompatibele serverversies - dit corrumpeert of „crast” de tabel. Wat betreft privacy bevat de .MYD de daadwerkelijke rijen van de tabel in platte tekst op de schijf (MyISAM heeft geen versleuteling), dus een gelekt .MYD-bestand is een datalek waarbij alles wat de tabel opsloeg wordt blootgesteld - gebruikersrecords, e-mails, PII. Werk altijd op kopieën en behandel het als de gevoelige database die het is.
Formaatdetails
in een notendopProgramma's die MYD-bestanden openen
Technische details
diepe specificaties| Bestandsrol | Slaat ruwe rijgegevens op voor één MyISAM-tabel; bevat geen schema, indexen of engine-metadata |
| Bijbehorende bestanden | Altijd gekoppeld aan `table.frm` (schema) and `table.MYI` (indexen) in de MySQL-gegevensmap; de drie bestanden delen dezelfde basisnaam |
| Rij-indeling | FIXED (kolommen met vaste breedte), DYNAMIC (variabele lengte; standaard wanneer VARCHAR- of BLOB-kolommen aanwezig zijn), of COMPRESSED (alleen-lezen, ingepakt met myisampack) |
| Byte-volgorde | Little-endian |
| Codering | Binair - ruwe binaire record-heap, geen tekstcodering |
| Bestandssignatuur | Geen vaste magic bytes of leesbare ASCII-signatuur; geïdentificeerd door extensie en de aanwezigheid van verwante .frm- en .MYI-bestanden |
| Standaard limiet bestandsgrootte | 4 GB per tabelgegevensbestand |
| Maximale bestandsgrootte | Tot 256 TB, geconfigureerd via MAX_ROWS en AVG_ROW_LENGTH tabelopties bij het aanmaken van de tabel |
| Afhandeling verwijderde rijen | Verwijderde rijen laten gaten achter op een interne vrije lijst; ruimte wordt teruggewonnen door OPTIMIZE TABLE uit te voeren |
| Compressie | Standaard geen; alleen-lezen tabellen kunnen offline worden ingepakt met myisampack om een gecomprimeerde, alleen-lezen variant te maken |
| Versleuteling | Geen systeemeigen versleuteling op tabelniveau - een bekende beperking van MyISAM vergeleken met InnoDB |
| Checksum en integriteit | Optionele live checksum ingeschakeld met CHECKSUM=1 tabeloptie; integriteitsherstel via myisamchk, CHECK TABLE of REPAIR TABLE |
| MIME-type | application/octet-stream |
| Platformondersteuning | Platformonafhankelijk: Linux, Windows, macOS, FreeBSD - overal waar MySQL of MariaDB draait |
| Vervangen door | InnoDB .ibd-bestanden voor transactionele werklasten; InnoDB werd de standaard MySQL-opslagengine in MySQL 5.5 (2010) |
| Uitgebracht | 2001 (MyISAM became the default MySQL engine in MySQL 3.23) |
| Laatste versie | Still produced by any MySQL/MariaDB table using ENGINE=MyISAM (legacy default before InnoDB took over in MySQL 5.5, 2010) |
| Specificatie | dev.mysql.com |
MYD conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over MYD-bestanden.