FRM (définition de table MySQL) : fichier .frm
en déclinFichier de définition de structure de table, utilisé par les anciens moteurs de stockage MySQL.
Le fichier FRM décrit la structure d’une table MySQL (noms et types de colonnes, index, moteur de stockage utilisé) indépendamment des données elles-mêmes, stockées séparément selon le moteur (MYD/MYI pour MyISAM, IBD pour InnoDB).
Sa structure binaire interne a évolué au fil des versions de MySQL sans qu’un octet magique unique et stable en tête de fichier ne soit publiquement garanti à travers toutes les versions. MySQL 8.0 a d’ailleurs entièrement supprimé ce fichier séparé au profit d’un dictionnaire de données interne unifié, rendant le FRM propre aux installations plus anciennes ou à MariaDB, qui l’a conservé.
Cette séparation entre définition de structure (FRM) et données (MYD/MYI ou IBD) explique pourquoi une simple copie de fichiers entre deux serveurs MySQL peut échouer si les versions ou les moteurs de stockage diffèrent : contrairement à un fichier SQLite autonome, une table MySQL ne se réduit jamais à un seul fichier déplaçable tel quel.
Le passage au dictionnaire de données unifié dans MySQL 8.0 a été motivé par la fragilité de cette approche multi-fichiers, notamment le risque d’incohérence entre le FRM et les métadonnées internes du moteur de stockage en cas de plantage pendant une modification de structure.
MariaDB, né d’un fork de MySQL en 2009, a fait le choix inverse de conserver le fichier FRM même dans ses versions les plus récentes : la présence de fichiers .frm sur un serveur est ainsi devenue, en pratique, un indice permettant de distinguer une installation MariaDB ou MySQL antérieur à la version 8 d’une installation MySQL 8.0 ou plus récente.
Signature binaire
Ce format n'a pas de signature binaire fiable : il ne peut pas être identifié de façon certaine par ses seuls premiers octets.
Vérifier qu'un fichier porte bien cette signature →
Questions fréquentes
Comment ouvrir un fichier .frm ?
MySQL / MariaDB permet d'ouvrir gratuitement un fichier .frm. Voir la liste complète des logiciels compatibles ci-contre.
Quel est le type MIME du format FRM (définition de table MySQL) ?
Le type MIME du format FRM (définition de table MySQL) est application/octet-stream.
Le format FRM (définition de table MySQL) (.frm) est-il encore utilisé aujourd'hui ?
Le format FRM (définition de table MySQL) est en déclin : encore rencontré, mais progressivement remplacé par d'autres formats.
Peut-on ouvrir un fichier .frm sur mobile, sans installer d'application ?
Aucun outil web n'est référencé sur cette fiche pour ce format : l'ouverture nécessite un logiciel de bureau (voir la liste « Avec quoi l'ouvrir » ci-contre).
Peut-on ouvrir un fichier .frm seul, sans les autres fichiers de la base ?
Non : le .frm ne décrit que la structure de la table (colonnes, types), pas les données elles-mêmes, qui résident dans un fichier séparé (.MYD pour MyISAM, ou directement dans le tablespace pour InnoDB). Il faut l'ensemble des fichiers du moteur de stockage pour restaurer une table complète.
Un fichier ne s'ouvre pas : les causes possibles →
Comment savoir si un fichier est corrompu →
Sources
Dernière mise à jour :