Qu'est-ce que le format de fichier MYD ?
Un fichier .myd est le composant de données de ligne d'une table MySQL MyISAM. MyISAM stocke chaque table sous la forme de trois fichiers frères partageant le même nom de base : table.frm contient la définition du schéma, table.MYI contient les index et les métadonnées du moteur, et table.MYD contient ce fichier - les enregistrements réels des lignes.
Le fichier .myd contient uniquement des données de lignes binaires brutes sans définitions de colonnes propres. Il ne peut pas être lu isolément ; le fichier de définition .frm et un serveur MySQL ou MariaDB en cours d'exécution sont nécessaires pour interpréter les enregistrements. Les lignes sont stockées selon l'une des trois dispositions internes : FIXED (toutes les colonnes à largeur fixe), DYNAMIC (par défaut lorsque des colonnes VARCHAR ou BLOB sont présentes), ou COMPRESSED (tables en lecture seule compressées hors ligne avec myisampack).
Par défaut, la taille du fichier est limitée à 4 Go, mais elle peut être portée à 256 To en définissant les options de table MAX_ROWS et AVG_ROW_LENGTH. Les lignes supprimées ne sont pas immédiatement récupérées - elles restent sous forme d'espaces vides dans une liste libre jusqu'à l'exécution de OPTIMIZE TABLE. Une somme de contrôle en direct facultative (CHECKSUM=1) permet au moteur de suivre l'intégrité au niveau des lignes ; l'utilitaire myisamchk et les instructions SQL CHECK TABLE / REPAIR TABLE travaillent avec le compagnon .MYI pour diagnostiquer et réparer la corruption.
MyISAM était le moteur de stockage par défaut de MySQL depuis MySQL 3.23 (vers 2001) jusqu'à MySQL 5.5 (2010), date à laquelle InnoDB est devenu le nouveau standard. Les bases de données héritées et les charges de travail principalement en lecture produisent encore des fichiers .myd aujourd'hui, pris en charge par MySQL et MariaDB.
Sécurité et sûreté
RISQUE : MEDIUMUn fichier .MYD est une donnée inerte - il ne contient aucun code exécutable - mais il comporte les mêmes risques opérationnels et de confidentialité que tout fichier de base de données. Sur le plan opérationnel : ne copiez, déplacez ou supprimez jamais de fichiers .MYD pendant que le serveur MySQL est en cours d'exécution, et ne séparez jamais un .MYD de ses fichiers .frm et .MYI correspondants, ni ne mélangez des fichiers entre des versions de serveur incompatibles - cela corrompt ou « fait planter » la table. En matière de confidentialité, le .MYD contient les lignes réelles de la table en texte clair sur le disque (MyISAM n'a pas de chiffrement), donc un .MYD fuité constitue une violation de données exposant tout ce que la table stockait - dossiers d'utilisateurs, e-mails, informations personnelles. Travaillez toujours sur des copies et traitez-le comme la base de données sensible qu'il est.
Détails du format
en brefProgrammes qui ouvrent les fichiers MYD
Détails techniques
spécifications approfondies| Rôle du fichier | Stocke les données brutes des lignes pour une table MyISAM ; ne contient ni schéma, ni index, ni métadonnées du moteur |
| Fichiers compagnons | Toujours associé à `table.frm` (schéma) et `table.MYI` (index) dans le répertoire de données MySQL ; les trois fichiers partagent le même nom de base |
| Format de ligne | FIXED (colonnes à largeur fixe), DYNAMIC (longueur variable ; par défaut avec VARCHAR ou BLOB), ou COMPRESSED (lecture seule, compressé avec myisampack) |
| Ordre des octets | Little-endian |
| Encodage | Binaire - tas d'enregistrements binaires bruts, pas d'encodage de texte |
| Signature de fichier | Pas d'octets magiques fixes ou de signature ASCII imprimable ; identifié par l'extension et la présence des fichiers frères .frm et .MYI |
| Limite de taille par défaut | 4 Go par fichier de données de table |
| Taille maximale du fichier | Jusqu'à 256 To, configuré via les options de table MAX_ROWS et AVG_ROW_LENGTH lors de la création |
| Gestion des lignes supprimées | Les lignes supprimées laissent des vides dans une liste libre interne ; l'espace est récupéré en exécutant OPTIMIZE TABLE |
| Compression | Aucune par défaut ; les tables en lecture seule peuvent être compressées hors ligne avec myisampack pour produire une variante compressée |
| Chiffrement | Pas de chiffrement natif au niveau de la table - une limitation connue de MyISAM par rapport à InnoDB |
| Somme de contrôle et intégrité | Somme de contrôle en direct facultative activée avec l'option CHECKSUM=1 ; réparation de l'intégrité via myisamchk, CHECK TABLE ou REPAIR TABLE |
| Type MIME | application/octet-stream |
| Plateformes supportées | Multiplateforme : Linux, Windows, macOS, FreeBSD - partout où MySQL ou MariaDB s'exécute |
| Remplacé par | Fichiers .ibd d'InnoDB pour les charges de travail transactionnelles ; InnoDB est devenu le moteur par défaut de MySQL dans la version 5.5 (2010) |
| Publié | 2001 (MyISAM became the default MySQL engine in MySQL 3.23) |
| Dernière version | Still produced by any MySQL/MariaDB table using ENGINE=MyISAM (legacy default before InnoDB took over in MySQL 5.5, 2010) |
| Spécification | dev.mysql.com |
Conversions MYD
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers MYD.