Was ist das MYD-Dateiformat?
Eine .myd-Datei ist die Zeilendaten-Komponente einer MySQL MyISAM-Tabelle. MyISAM speichert jede Tabelle als drei Geschwisterdateien mit demselben Basisnamen: table.frm enthält die Schema-Definition, table.MYD enthält diese Datei - die eigentlichen Datensätze - und table.MYI enthält die Indizes und Engine-Metadaten.
Die .myd-Datei enthält nur rohe binäre Zeilendaten ohne eigene Spaltendefinitionen. Sie kann nicht isoliert gelesen werden; die .frm-Definitionsdatei und ein laufender MySQL- oder MariaDB-Server sind erforderlich, um die Datensätze zu interpretieren. Zeilen werden in einem von drei internen Layouts gespeichert: FIXED (alle Spalten mit fester Breite), DYNAMIC (Standard, wenn VARCHAR- oder BLOB-Spalten vorhanden sind) oder COMPRESSED (schreibgeschützte Tabellen, die offline mit myisampack gepackt wurden).
Standardmäßig ist die Dateigröße auf 4 GB begrenzt, dies kann jedoch durch Festlegen der Tabellenoptionen MAX_ROWS und AVG_ROW_LENGTH auf bis zu 256 TB erhöht werden. Gelöschte Zeilen werden nicht sofort zurückgewonnen - sie verbleiben als Lücken in einer Freiliste, bis OPTIMIZE TABLE ausgeführt wird. Eine optionale Live-Prüfsumme (CHECKSUM=1) ermöglicht es der Engine, die Integrität auf Zeilenebene zu verfolgen; das Dienstprogramm myisamchk und die SQL-Anweisungen CHECK TABLE / REPAIR TABLE arbeiten mit der zugehörigen .MYI-Datei zusammen, um Beschädigungen zu diagnostizieren und zu reparieren.
MyISAM war die Standard-Speicher-Engine von MySQL von MySQL 3.23 (ca. 2001) bis MySQL 5.5 (2010), als InnoDB zum neuen Standard wurde. Legacy-Datenbanken und Workloads mit überwiegenden Lesezugriffen erzeugen auch heute noch .myd-Dateien, die sowohl von MySQL als auch von MariaDB unterstützt werden.
Sicherheit
RISIKO: MEDIUMEine .MYD-Datei besteht aus inerten Daten - sie enthält keinen ausführbaren Code -, birgt jedoch dieselben betrieblichen und datenschutzrechtlichen Risiken wie jede Datenbankdatei. Betrieblich: Kopieren, verschieben oder löschen Sie niemals .MYD-Dateien, während der MySQL-Server läuft, und trennen Sie eine .MYD niemals von ihrer passenden .frm und .MYI oder mischen Sie Dateien über inkompatible Serverversionen hinweg - dies führt zu Beschädigungen oder zum „Absturz“ der Tabelle. In Bezug auf den Datenschutz speichert die .MYD die tatsächlichen Zeilen der Tabelle im Klartext auf der Festplatte (MyISAM hat keine Verschlüsselung), sodass eine geleakte .MYD eine Datenpanne darstellt, die alles offenlegt, was in der Tabelle gespeichert war - Benutzerdatensätze, E-Mails, personenbezogene Daten. Arbeiten Sie immer an Kopien und behandeln Sie sie wie die sensible Datenbank, die sie ist.
Formatdetails
kurz gefasstProgramme zum Öffnen von MYD-Dateien
Technische Details
technische Spezifikation| Dateifunktion | Speichert rohe Zeilendaten für eine MyISAM-Tabelle; enthält kein Schema, keine Indizes oder Engine-Metadaten |
| Zugehörige Dateien | Immer gepaart mit `table.frm` (Schema) und `table.MYI` (Indizes) im MySQL-Datenverzeichnis; die drei Dateien teilen sich denselben Basisnamen |
| Zeilenformat | FIXED (Spalten fester Breite), DYNAMIC (variable Länge; Standard, wenn VARCHAR- oder BLOB-Spalten vorhanden sind) oder COMPRESSED (schreibgeschützt, mit myisampack gepackt) |
| Byte-Reihenfolge | Little-endian |
| Kodierung | Binär - roher binärer Datensatz-Heap, keine Textkodierung |
| Dateisignatur | Keine festen Magic Bytes oder druckbare ASCII-Signatur; identifiziert durch die Dateiendung und das Vorhandensein der Geschwisterdateien .frm und .MYI |
| Standard-Dateigrößenlimit | 4 GB pro Tabellendatendatei |
| Maximale Dateigröße | Bis zu 256 TB, konfiguriert über die Tabellenoptionen MAX_ROWS und AVG_ROW_LENGTH bei der Tabellenerstellung |
| Umgang mit gelöschten Zeilen | Gelöschte Zeilen hinterlassen Lücken in einer internen Freiliste; Speicherplatz wird durch Ausführen von OPTIMIZE TABLE zurückgewonnen |
| Kompression | Standardmäßig keine; schreibgeschützte Tabellen können offline mit myisampack gepackt werden, um eine komprimierte, schreibgeschützte Variante zu erstellen |
| Verschlüsselung | Keine native Verschlüsselung auf Tabellenebene - eine bekannte Einschränkung von MyISAM im Vergleich zu InnoDB |
| Prüfsumme und Integrität | Optionale Live-Prüfsumme, aktiviert mit der Tabellenoption CHECKSUM=1; Integritätsreparatur über myisamchk, CHECK TABLE oder REPAIR TABLE |
| MIME-Typ | application/octet-stream |
| Plattformunterstützung | Plattformübergreifend: Linux, Windows, macOS, FreeBSD - überall dort, wo MySQL oder MariaDB läuft |
| Abgelöst durch | InnoDB .ibd-Dateien für transaktionale Workloads; InnoDB wurde in MySQL 5.5 (2010) zur Standard-Speicher-Engine von MySQL |
| Veröffentlicht | 2001 (MyISAM became the default MySQL engine in MySQL 3.23) |
| Neueste Version | Still produced by any MySQL/MariaDB table using ENGINE=MyISAM (legacy default before InnoDB took over in MySQL 5.5, 2010) |
| Spezifikation | dev.mysql.com |
MYD-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu MYD-Dateien.