Hva er MYD-filformatet?
En .myd-fil er rad-data-komponenten i en MySQL MyISAM-tabell. MyISAM lagrer hver tabell som tre søskenfiler som deler samme basenavn: table.frm inneholder skjema-definisjonen, table.MYD inneholder denne filen - de faktiske rad-oppføringene - og table.MYI inneholder indeksene og metadata for motoren.
.myd-filen inneholder kun rå binære raddata uten egne kolonnedefinisjoner. Den kan ikke leses isolert; .frm-definisjonsfilen og en kjørende MySQL- eller MariaDB-server er nødvendig for å tolke postene. Rader lagres i ett av tre interne oppsett: FIXED (alle kolonner har fast bredde), DYNAMIC (standard når VARCHAR- eller BLOB-kolonner er til stede), eller COMPRESSED (skrivebeskyttede tabeller pakket offline med myisampack).
Som standard er filstørrelsen begrenset til 4 GB, men dette kan økes til opptil 256 TB ved å angi tabellalternativene MAX_ROWS og AVG_ROW_LENGTH. Slettede rader blir ikke umiddelbart gjenvunnet - de forblir som hull på en ledig-liste inntil OPTIMIZE TABLE kjøres. En valgfri live sjekksum (CHECKSUM=1) lar motoren spore integritet på radnivå; verktøyet myisamchk og SQL-setningene CHECK TABLE / REPAIR TABLE fungerer mot den tilhørende .MYI-filen for å diagnostisere og reparere korrupsjon.
MyISAM var standard lagringsmotor for MySQL fra MySQL 3.23 (ca. 2001) frem til MySQL 5.5 (2010), da InnoDB ble den nye standarden. Eldre databaser og arbeidsbelastninger som hovedsakelig består av lesing produserer fortsatt .myd-filer i dag, støttet av både MySQL og MariaDB.
Sikkerhet og trygghet
RISIKO: MEDIUMEn .MYD-fil er inerte data - den inneholder ingen kjørbar kode - men den innebærer samme operasjonelle risiko og personvernrisiko som enhver databasefil. Operasjonelt: kopier, flytt eller slett aldri .MYD-filer mens MySQL-serveren kjører, og separer aldri en .MYD fra dens tilhørende .frm og .MYI, eller bland filer på tvers av inkompatible serverversjoner - dette vil korrumpere eller «krasje» tabellen. Personvernmessig inneholder .MYD-filen tabellens faktiske rader i klartekst på disken (MyISAM har ingen kryptering), så en lekket .MYD-fil er et databrudn som eksponerer alt tabellen lagret - brukerposter, e-poster, personopplysninger. Jobb alltid på kopier og behandle den som den sensitive databasen den er.
Formatdetaljer
i et nøtteskallProgrammer som åpner MYD-filer
Tekniske detaljer
dyp spesifikasjon| Filrolle | Lagrer rå raddata for én MyISAM-tabell; inneholder ikke skjema, indekser eller metadata for motoren |
| Tilhørende filer | Alltid paret med `table.frm` (skjema) og `table.MYI` (indekser) i MySQL-datamappen; de tre filene deler samme basenavn |
| Radformat | FIXED (kolonner med fast bredde), DYNAMIC (variabel lengde; standard når VARCHAR- eller BLOB-kolonner er til stede), eller COMPRESSED (skrivebeskyttet, pakket med myisampack) |
| Byterekkefølge | Little-endian |
| Koding | Binær - rå binær raddata, ingen tekstkoding |
| Filsignatur | Ingen faste «magic bytes» eller lesbar ASCII-signatur; identifiseres ved filendelse og tilstedeværelsen av søskenfilene .frm og .MYI |
| Standard grense for filstørrelse | 4 GB per tabelldatafil |
| Maksimal filstørrelse | Opptil 256 TB, konfigurert via tabellalternativene MAX_ROWS og AVG_ROW_LENGTH ved opprettelse av tabell |
| Håndtering av slettede rader | Slettede rader etterlater hull på en intern ledig-liste; plass gjenvinnes ved å kjøre OPTIMIZE TABLE |
| Komprimering | Ingen som standard; skrivebeskyttede tabeller kan pakkes offline med myisampack for å produsere en komprimert, skrivebeskyttet variant |
| Kryptering | Ingen innebygd kryptering på tabellnivå - en kjent begrensning i MyISAM sammenlignet med InnoDB |
| Sjekksum og integritet | Valgfri live sjekksum aktivert med tabellvalget CHECKSUM=1; integritetsreparasjon via myisamchk, CHECK TABLE eller REPAIR TABLE |
| MIME-type | application/octet-stream |
| Plattformstøtte | Plattformuavhengig: Linux, Windows, macOS, FreeBSD - overalt hvor MySQL eller MariaDB kjører |
| Erstattet av | InnoDB .ibd-filer for transaksjonelle arbeidsbelastninger; InnoDB ble standard lagringsmotor i MySQL 5.5 (2010) |
| Utgitt | 2001 (MyISAM became the default MySQL engine in MySQL 3.23) |
| Siste versjon | Still produced by any MySQL/MariaDB table using ENGINE=MyISAM (legacy default before InnoDB took over in MySQL 5.5, 2010) |
| Spesifikasjon | dev.mysql.com |
MYD-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om MYD-filer.