Che cos'è il formato di file MYD?
Un file .myd è il componente dei dati delle righe di una tabella MySQL MyISAM. MyISAM memorizza ogni tabella come tre file fratelli che condividono lo stesso nome di base: table.frm contiene la definizione dello schema, table.MYD contiene questo file - i record effettivi delle righe - e table.MYI contiene gli indici e i metadati del motore.
Il file .myd contiene solo dati binari grezzi delle righe senza definizioni di colonna proprie. Non può essere letto isolatamente; il file di definizione .frm e un server MySQL o MariaDB in esecuzione sono necessari per interpretare i record. Le righe sono memorizzate in uno dei tre layout interni: FIXED (tutte le colonne a larghezza fissa), DYNAMIC (predefinito quando sono presenti colonne VARCHAR o BLOB) o COMPRESSED (tabelle in sola lettura compattate offline con myisampack).
Per impostazione predefinita, la dimensione del file è limitata a 4 GB, ma può essere aumentata fino a 256 TB impostando le opzioni della tabella MAX_ROWS e AVG_ROW_LENGTH. Le righe eliminate non vengono recuperate immediatamente - rimangono come spazi vuoti in una lista libera finché non viene eseguito OPTIMIZE TABLE. Un checksum live opzionale (CHECKSUM=1) consente al motore di tracciare l'integrità a livello di riga; l'utility myisamchk e le istruzioni SQL CHECK TABLE / REPAIR TABLE lavorano sul compagno .MYI per diagnosticare e riparare la corruzione.
MyISAM è stato il motore di archiviazione predefinito di MySQL da MySQL 3.23 (circa 2001) fino a MySQL 5.5 (2010), quando InnoDB è diventato il nuovo standard. I database legacy e i carichi di lavoro prevalentemente di lettura producono ancora file .myd oggi, supportati sia da MySQL che da MariaDB.
Sicurezza e incolumità
RISCHIO: MEDIUMUn file .MYD contiene dati inerti - non include codice eseguibile - ma comporta gli stessi rischi operativi e di privacy di qualsiasi file di database. Operativamente: non copiare, spostare o eliminare mai i file .MYD mentre il server MySQL è in esecuzione, e non separare mai un .MYD dai suoi file .frm e .MYI corrispondenti né mescolare file tra versioni di server incompatibili - farlo corrompe o manda in «crash» la tabella. Per quanto riguarda la privacy, il file .MYD contiene le righe effettive della tabella in chiaro sul disco (MyISAM non ha crittografia), quindi un .MYD trapelato rappresenta una violazione dei dati che espone tutto ciò che la tabella memorizzava - record utente, e-mail, PII. Lavora sempre su copie e trattalo come il database sensibile che è.
Dettagli del formato
in sintesiProgrammi che aprono file MYD
Dettagli tecnici
specifiche approfondite| Ruolo del file | Memorizza i dati grezzi delle righe per una tabella MyISAM; non contiene schema, indici o metadati del motore |
| File complementari | Sempre associato a `table.frm` (schema) e `table.MYI` (indici) nella directory dei dati di MySQL; i tre file condividono lo stesso nome di base |
| Formato riga | FIXED (colonne a larghezza fissa), DYNAMIC (lunghezza variabile; predefinito quando sono presenti colonne VARCHAR o BLOB) o COMPRESSED (sola lettura, compattato con myisampack) |
| Ordine dei byte | Little-endian |
| Codifica | Binaria - heap di record binari grezzi, nessuna codifica di testo |
| Firma del file | Nessun magic byte fisso o firma ASCII stampabile; identificato dall'estensione e dalla presenza dei file fratelli .frm e .MYI |
| Limite predefinito dimensione file | 4 GB per file di dati della tabella |
| Dimensione massima file | Fino a 256 TB, configurata tramite le opzioni della tabella MAX_ROWS e AVG_ROW_LENGTH alla creazione della tabella |
| Gestione righe eliminate | Le righe eliminate lasciano spazi vuoti in una lista libera interna; lo spazio viene recuperato eseguendo OPTIMIZE TABLE |
| Compressione | Nessuna per impostazione predefinita; le tabelle in sola lettura possono essere compattate offline con myisampack per produrre una variante compressa |
| Crittografia | Nessuna crittografia nativa a livello di tabella - una limitazione nota di MyISAM rispetto a InnoDB |
| Checksum e integrità | Checksum live opzionale abilitato con l'opzione CHECKSUM=1; riparazione dell'integrità tramite myisamchk, CHECK TABLE o REPAIR TABLE |
| Tipo MIME | application/octet-stream |
| Supporto piattaforma | Cross-platform: Linux, Windows, macOS, FreeBSD - ovunque MySQL o MariaDB siano in esecuzione |
| Sostituito da | File .ibd di InnoDB per carichi di lavoro transazionali; InnoDB è diventato il motore di archiviazione predefinito di MySQL in MySQL 5.5 (2010) |
| Rilasciato | 2001 (MyISAM became the default MySQL engine in MySQL 3.23) |
| Ultima versione | Still produced by any MySQL/MariaDB table using ENGINE=MyISAM (legacy default before InnoDB took over in MySQL 5.5, 2010) |
| Specifica | dev.mysql.com |
Conversioni MYD
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file MYD.