.FRM

FRM-bestand

MySQL Table Definition File
Stel een vraag
SNEL ANTWOORD

Een FRM-bestand is een MySQL-tabeldefinitiebestand. Het slaat de kolomnamen, datatypes en indexen op voor één databasetabel, maar niet de feitelijke rijgegevens. Om het te lezen, voert u mysqlfrm --diagnostic uit op het bestand, of herstelt u de datamap in een overeenkomstige MySQL- of MariaDB-server. MySQL 8.0 maakt helemaal geen .frm-bestanden meer aan.

Ontwikkelaar: MySQL AB / Oracle Corporation Categorie: Databasebestanden MIME: application/octet-stream
OPENT OP Windows macOS Linux
Gerelateerd: .DB · .DBF · .ACCDB · .SQL

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Aug 15, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het FRM-bestandsformaat?

Een .frm-bestand is een MySQL-tabeldefinitiebestand dat informatie opslaat over de structuur en lay-out van een enkele databasetabel. Voor elke tabel wordt één .frm-bestand aangemaakt, en de tabelnaam wordt gebruikt voor de .frm-bestandsnaam - dus een tabel genaamd orders produceert orders.frm in de MySQL-datamap.

Het .frm-formaat registreert alleen het tabelschema: kolomnamen, datatypes, lengtes, standaardwaarden en index/sleutel-metadata. Het bevat nooit rijgegevens. Voor MyISAM-tabellen staan de feitelijke gegevens in een bijbehorend .MYD-bestand (met indexen in een .MYI-bestand); MySQL vereiste alle drie de bestanden samen om volledige toegang te krijgen tot een MyISAM-tabel. InnoDB-tabellen koppelden hun .frm in plaats daarvan aan een apart .IBD-tablespace-bestand.

Het bestand is een eigen „little-endian” binaire blob die begint met de magic bytes 0xFE 0x01. Het werd geïntroduceerd met MySQL 1.0 in 1995 en gebruikt door elke storage engine - zowel MyISAM als InnoDB - tot en met MySQL 5.7 en MariaDB. MySQL 8.0 (december 2018) heeft .frm-bestanden volledig verwijderd en de tabelmetadata verplaatst naar het transactionele datadictionary van InnoDB. MariaDB is na die splitsing doorgegaan met het gebruik van .frm-bestanden.

Wanneer rijgegevens verloren gaan of beschadigd raken, kan een overgebleven .frm-bestand worden geïnspecteerd met het hulpprogramma mysqlfrm om de CREATE TABLE-instructie te reconstrueren en de kolomlay-out te herstellen.

Beveiliging & veiligheid

RISICO: LOW

Een .frm-bestand is passieve binaire tabelmetadata - het bevat geen uitvoerbare code en is veilig te hanteren. De praktische risico's liggen bij gegevensherstel, niet bij malware: een .frm die in de verkeerde MySQL-versie wordt hersteld, kan mislukken of het dictionary beschadigen, en een losse .frm zonder de bijbehorende .MYD/.ibd kan uw rijen niet teruggeven. Werk altijd met kopieën, zorg dat de serverversie overeenkomt en houd de bijbehorende gegevensbestanden bij elkaar.

Formaatdetails

in een notendop
VOLLEDIGE NAAMMySQL Table Definition Fileook bekend als MySQL table format file, MySQL .frm file
ONTWIKKELAARMySQL AB / Oracle Corporationsinds 1995 (MySQL 1.0, used by ISAM/MyISAM/InnoDB through MySQL 5.7)
MIME-TYPEapplication/octet-stream
TYPEBinair tabeldefinitiebestand (datadictionary-vermelding voor één tabel)
Deze extensie wordt ook gebruikt door…
  • Visual Basic Form-bestand - Bronbestand dat de lay-out en besturingselementen van een formulier beschrijft in VB6 en eerder (platte tekst).
  • FormFlow Form - Elektronisch formulierdocument gemaakt door de legacy JetForm/FormFlow-software.
  • Adobe FrameMaker (legacy) - Oudere FrameMaker-installaties gebruikten .frm voor sommige formulier/sjabloon-bronnen.
MAGIC BYTES · BESTANDSSIGNATUUR
OFFSET
0001
HEX
FE01
ASCII
··
De FRM-header begint met een magic/versie-woord (meestal 0xFE 0x01 voor het klassieke formaat). Er is geen stabiele ASCII-handtekening over verschillende versies heen; het bestand is een eigen binaire blob, dus identificatie vindt plaats via extensie + context (bevindt zich naast .MYD/.MYI of .ibd in een MySQL-datamap).

Programma's die FRM-bestanden openen

Windows3 apps
MySQL Server Open-source Plaats de tabelbestanden in de datamap van de server (overeenkomstige versie), start MySQL, en voer vervolgens SHOW CREATE TABLE / mysqldump uit. De juiste manier om een .frm te gebruiken.
mysqlfrm (MySQL Utilities) Open-source Voer „mysqlfrm --diagnostic table.frm” uit om de CREATE TABLE-instructie rechtstreeks uit het bestand te lezen, zonder een draaiende server.
MariaDB Server Open-source MariaDB begrijpt nog steeds .frm - installeer het, plaats de bestanden in de datamap en dump het schema/de gegevens.
macOS1 app
MySQL Server Open-source Plaats de tabelbestanden in de datamap van de server (overeenkomstige versie), start MySQL, en voer vervolgens SHOW CREATE TABLE / mysqldump uit. De juiste manier om een .frm te gebruiken.
Linux2 apps
MySQL / MariaDB Server Open-source Kopieer de bestanden naar /var/lib/mysql (overeenkomstige versie), start de service en voer vervolgens SHOW CREATE TABLE of mysqldump uit.
mysqlfrm (MySQL Utilities) Open-source Voer „mysqlfrm --diagnostic table.frm” uit om de CREATE TABLE-instructie rechtstreeks uit het bestand te lezen, zonder een draaiende server.

Technische details

diepe specificaties
BestandsstructuurEigen little-endian binaire blob; geen compressie of versleuteling
Magic bytes0xFE 0x01 op offset 0 (versie-afhankelijke binaire header; geen stabiele ASCII-handtekening)
InhoudKolomdefinities (namen, types, lengtes, standaardwaarden), index/sleutel-metadata en tabelopties - alleen schema, nooit rijgegevens
Typische bestandsgrootte1 KB - 50 KB per tabel; groeit mee met het aantal kolommen en indexen
MIME-typeapplication/octet-stream
Eén bestand per tabelElke tabel krijgt zijn eigen .frm-bestand vernoemd naar de tabel, opgeslagen in de submap van het schema in de MySQL-datamap
MyISAM-metgezellen.MYD (rijgegevens) en .MYI (indexgegevens) - alle drie vereist voor volledige MyISAM-tabeltoegang
InnoDB-metgezel.ibd tablespace-bestand - de .frm bevatte het schema terwijl .ibd de gegevens en indexen bevatte
Engine-ondersteuningGeschreven door alle storage engines in MySQL 3.x - 5.7: MyISAM, InnoDB, MEMORY, CSV, ARCHIVE en andere
Verwijderd inMySQL 8.0 (december 2018): metadata verplaatst naar het InnoDB transactionele datadictionary; geen .frm-bestanden meer aangemaakt of gelezen
Nog steeds gebruikt doorMariaDB is doorgegaan met het genereren van .frm-bestanden na de MySQL 8.0-splitsing
Herstelhulpprogrammamysqlfrm (MySQL Utilities) leest een losse .frm om de `CREATE TABLE` DDL-instructie te reconstrueren
OntwikkelaarMySQL AB (origineel); Oracle Corporation (sinds overname in 2010)
BesturingssystemenCross-platform: Linux, Windows, macOS, FreeBSD - overal waar MySQL of MariaDB draaide
Uitgebracht1995 (MySQL 1.0, used by ISAM/MyISAM/InnoDB through MySQL 5.7)
Laatste versieLast used in MySQL 5.7 / MariaDB; removed from MySQL 8.0 (December 2018)
Specificatiedev.mysql.com

FRM conversies

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met FRM-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over FRM-bestanden.

Veelgestelde vragen

Hoe open ik een .frm-bestand?
U opent het niet handmatig. Lees het schema met „mysqlfrm --diagnostic table.frm”, of plaats de tabelbestanden in de datamap van een overeenkomstige MySQL/MariaDB-server en voer SHOW CREATE TABLE uit. Het openen van de ruwe binaire gegevens in een teksteditor toont alleen wartaal.
Kan ik mijn gegevens herstellen met alleen een .frm-bestand?
Nee - de .frm bevat alleen de tabelstructuur (kolommen, types, indexen). De feitelijke rijen bevinden zich in het .MYD (MyISAM) of .ibd (InnoDB) bestand. Zonder die bestanden kunt u het schema herstellen, maar niet de gegevens.
Hoe krijg ik de CREATE TABLE-instructie uit een .frm?
Voer „mysqlfrm --diagnostic yourtable.frm” uit vanuit MySQL Utilities, of herstel het bestand in een MySQL/MariaDB-server en voer SHOW CREATE TABLE uit.
Waarom heeft MySQL 8.0 geen .frm-bestanden?
MySQL 8.0 (2018) heeft .frm-bestanden per tabel vervangen door een transactioneel datadictionary dat in InnoDB is opgeslagen, waarmee het oude probleem werd opgelost waarbij .frm-bestanden niet meer synchroon liepen met de metadata van de server.
Ik heb de .frm gekopieerd maar krijg „Table doesn't exist” - waarom?
InnoDB heeft de bijbehorende tablespace (.ibd) en de vermelding in het datadictionary nodig. Alleen de .frm kopiëren is niet genoeg; herstel de hele datamap, of gebruik een tool zoals mysqlfrm om alleen de structuur te lezen.
Welke programma's openen .frm naast MySQL?
MariaDB Server begrijpt ook .frm, en mysqlfrm leest het zonder server. Er is geen algemene „viewer” - het is een intern formaat voor de server.

Referenties

1MySQL Internals Manual - .frm file formatdev.mysql.com
2MySQL 8.0 Reference - Data Dictionary (replaces .frm)dev.mysql.com

Blijf ontdekken

door de database

Populaire extensies deze week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.JPGJPEG Image
4.PARTPartial Download File
5.MDMarkdown Document
6.RPMSGRestricted Permission Message
7.DATProgram Data File (generic)
8.BINCD/DVD Disc Image (BIN/CUE)
9.EXEWindows Executable (Portable Executable)
10.DBSQLite Database File

Gerelateerde extensies

.DBSQLite Database File
.DBFDatabase File (dBASE / xBase table)
.ACCDBMicrosoft Access Database (2007+)
.SQLSQL Script (Structured Query Language source / database dump)
.MDBMicrosoft Access Database (97-2003, Jet engine)
.FDBFirebird Database

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z