.FRM

Plik FRM

MySQL Table Definition File
Zadaj pytanie
SZYBKA ODPOWIEDŹ

Plik FRM to plik definicji tabeli MySQL. Przechowuje on nazwy kolumn, typy danych i indeksy dla jednej tabeli bazy danych, ale nie zawiera rzeczywistych danych wierszy. Aby go odczytać, należy uruchomić polecenie mysqlfrm --diagnostic na pliku lub przywrócić katalog danych do pasującego serwera MySQL lub MariaDB. MySQL 8.0 nie tworzy już w ogóle plików .frm.

Deweloper: MySQL AB / Oracle Corporation Kategoria: Pliki baz danych MIME: application/octet-stream
OTWIERA SIĘ NA Windows macOS Linux
Powiązane: .DB · .DBF · .ACCDB · .SQL

Na tej stronie

Zindeksowano 19k+ rozszerzeń
Ostatnia weryfikacja Aug 15, 2026

Nie wiesz, co to za plik?

Przeciągnij dowolny plik do naszego identyfikatora - odczytujemy tylko pierwsze bajty, aby nazwać format.

Zidentyfikuj plik

Co to jest format pliku FRM?

Plik .frm to plik definicji tabeli MySQL, który przechowuje informacje o strukturze i układzie pojedynczej tabeli bazy danych. Jeden plik .frm jest tworzony dla każdej tabeli, a nazwa tabeli jest używana jako nazwa pliku .frm - zatem tabela o nazwie orders generuje plik orders.frm wewnątrz katalogu danych MySQL.

Format .frm rejestruje tylko schemat tabeli: nazwy kolumn, typy danych, długości, wartości domyślne oraz metadane indeksów/kluczy. Nigdy nie przechowuje danych wierszy. W przypadku tabel MyISAM rzeczywiste dane znajdują się w towarzyszącym pliku .MYD (z indeksami w pliku .MYI); MySQL wymagał wszystkich trzech plików razem, aby w pełni uzyskać dostęp do tabeli MyISAM. Tabele InnoDB parowały swój plik .frm z oddzielnym plikiem przestrzeni tabel .IBD.

Plik jest zastrzeżonym binarnym obiektem typu blob w formacie little-endian, zaczynającym się od bajtów magicznych 0xFE 0x01. Został wprowadzony wraz z MySQL 1.0 w 1995 roku i był używany przez każdy silnik pamięci masowej - zarówno MyISAM, jak i InnoDB - do wersji MySQL 5.7 i MariaDB. MySQL 8.0 (grudzień 2018) całkowicie usunął pliki .frm, przenosząc metadane tabel do transakcyjnego słownika danych InnoDB. MariaDB kontynuowała używanie plików .frm po tym podziale.

W przypadku utraty lub uszkodzenia danych wierszy, ocalały plik .frm może zostać zbadany za pomocą narzędzia diagnostycznego mysqlfrm w celu zrekonstruowania instrukcji CREATE TABLE i odzyskania układu kolumn.

Bezpieczeństwo

RYZYKO: LOW

Plik .frm to pasywne binarne metadane tabeli - nie zawiera kodu wykonywalnego i jest bezpieczny w obsłudze. Praktyczne ryzyko dotyczy odzyskiwania danych, a nie złośliwego oprogramowania: plik .frm przywrócony do niewłaściwej wersji MySQL może zawieść lub uszkodzić słownik, a sam plik .frm bez towarzyszących mu plików .MYD/.ibd nie zwróci wierszy. Zawsze pracuj na kopiach, dopasuj wersję serwera i przechowuj towarzyszące pliki danych razem.

Szczegóły formatu

w pigułce
PEŁNA NAZWAMySQL Table Definition Fileznany również jako MySQL table format file, MySQL .frm file
DEWELOPERMySQL AB / Oracle Corporationod 1995 (MySQL 1.0, used by ISAM/MyISAM/InnoDB through MySQL 5.7)
TYP MIMEapplication/octet-stream
TYPBinarny plik definicji tabeli (wpis słownika danych dla jednej tabeli)
To rozszerzenie jest również używane przez…
  • Plik formularza Visual Basic - Plik źródłowy opisujący układ i kontrolki formularza w VB6 i starszych (zwykły tekst).
  • Formularz FormFlow - Elektroniczny dokument formularza utworzony przez starsze oprogramowanie JetForm/FormFlow.
  • Adobe FrameMaker (starsze wersje) - Starsze instalacje FrameMaker używały rozszerzenia .frm dla niektórych zasobów formularzy/szablonów.
MAGICZNE BAJTY · SYGNATURA PLIKU
OFFSET
0001
HEX
FE01
ASCII
··
Nagłówek FRM zaczyna się od słowa magicznego/wersji (zazwyczaj 0xFE 0x01 dla klasycznego formatu). Nie istnieje stabilna sygnatura ASCII między wersjami; plik jest zastrzeżonym obiektem binarnym, więc identyfikacja odbywa się poprzez rozszerzenie + kontekst (znajduje się obok .MYD/.MYI lub .ibd w katalogu danych MySQL).

Programy otwierające pliki FRM

Windows3 apps
MySQL Server Open-source Umieść pliki tabeli w katalogu danych serwera (zgodna wersja), uruchom MySQL, a następnie wykonaj SHOW CREATE TABLE / mysqldump. To właściwy sposób użycia pliku .frm.
mysqlfrm (MySQL Utilities) Open-source Uruchom „mysqlfrm --diagnostic table.frm”, aby odczytać instrukcję CREATE TABLE bezpośrednio z pliku, bez działającego serwera.
MariaDB Server Open-source MariaDB nadal obsługuje .frm - zainstaluj go, wrzuć pliki do katalogu danych i wykonaj zrzut schematu/danych.
macOS1 app
MySQL Server Open-source Umieść pliki tabeli w katalogu danych serwera (zgodna wersja), uruchom MySQL, a następnie wykonaj SHOW CREATE TABLE / mysqldump. To właściwy sposób użycia pliku .frm.
Linux2 apps
MySQL / MariaDB Server Open-source Skopiuj pliki do /var/lib/mysql (zgodna wersja), uruchom usługę, a następnie wykonaj SHOW CREATE TABLE lub mysqldump.
mysqlfrm (MySQL Utilities) Open-source Uruchom „mysqlfrm --diagnostic table.frm”, aby odczytać instrukcję CREATE TABLE bezpośrednio z pliku, bez działającego serwera.

Szczegóły techniczne

specyfikacja
Struktura plikuZastrzeżony binarny obiekt blob little-endian; brak kompresji i szyfrowania
Magiczne bajty0xFE 0x01 pod offsetem 0 (nagłówek binarny zależny od wersji; brak stabilnej sygnatury ASCII)
ZawartośćDefinicje kolumn (nazwy, typy, długości, wartości domyślne), metadane indeksów/kluczy i opcje tabeli - tylko schemat, nigdy dane wierszy
Typowy rozmiar pliku1 KB - 50 KB na tabelę; rośnie wraz z liczbą kolumn i indeksów
Typ MIMEapplication/octet-stream
Jeden plik na tabelęKażda tabela otrzymuje własny plik .frm o nazwie odpowiadającej tabeli, przechowywany w podkatalogu schematu w katalogu danych MySQL
Towarzysze MyISAM.MYD (dane wierszy) i .MYI (dane indeksów) - wszystkie trzy wymagane do pełnego dostępu do tabeli MyISAM
Towarzysz InnoDBPlik przestrzeni tabel .ibd - plik .frm zawierał schemat, podczas gdy .ibd zawierał dane i indeksy
Obsługa silnikówZapisywany przez wszystkie silniki pamięci masowej w MySQL 3.x - 5.7: MyISAM, InnoDB, MEMORY, CSV, ARCHIVE i inne
Usunięto wMySQL 8.0 (grudzień 2018): metadane przeniesione do transakcyjnego słownika danych InnoDB; pliki .frm nie są już tworzone ani odczytywane
Nadal używany przezMariaDB kontynuowała generowanie plików .frm po rozłamie z MySQL 8.0
Narzędzie do odzyskiwaniamysqlfrm (MySQL Utilities) odczytuje samodzielny plik .frm w celu rekonstrukcji instrukcji DDL CREATE TABLE
DeweloperMySQL AB (oryginalnie); Oracle Corporation (od przejęcia w 2010 roku)
Systemy operacyjneWieloplatformowy: Linux, Windows, macOS, FreeBSD - wszędzie tam, gdzie działa MySQL lub MariaDB
Wydano1995 (MySQL 1.0, used by ISAM/MyISAM/InnoDB through MySQL 5.7)
Najnowsza wersjaLast used in MySQL 5.7 / MariaDB; removed from MySQL 8.0 (December 2018)
Specyfikacjadev.mysql.com

Konwersje FRM

Pytania i odpowiedzi społeczności

pytania użytkowników
Zadaj szybkie pytanie
Uzyskaj pomoc od osób pracujących z plikami FRM. Bądź precyzyjny - podaj system i wersję oprogramowania.
Konto nie jest wymagane · odpowiedzi zazwyczaj w ciągu doby

Brak pytań - bądź pierwszą osobą, która zapyta o pliki FRM.

Najczęściej zadawane pytania

Jak otworzyć plik .frm?
Nie otwiera się go ręcznie. Odczytaj jego schemat za pomocą „mysqlfrm --diagnostic table.frm” lub umieść pliki tabeli w katalogu danych pasującego serwera MySQL/MariaDB i uruchom SHOW CREATE TABLE. Otwarcie surowego pliku binarnego w edytorze tekstu pokaże nieczytelne znaki.
Czy mogę odzyskać dane tylko z pliku .frm?
Nie - plik .frm zawiera tylko strukturę tabeli (kolumny, typy, indeksy). Rzeczywiste wiersze znajdują się w pliku .MYD (MyISAM) lub .ibd (InnoDB). Bez nich można odzyskać schemat, ale nie dane.
Jak uzyskać instrukcję CREATE TABLE z pliku .frm?
Uruchom „mysqlfrm --diagnostic yourtable.frm” z pakietu MySQL Utilities lub przywróć plik do serwera MySQL/MariaDB i uruchom SHOW CREATE TABLE.
Dlaczego MySQL 8.0 nie posiada plików .frm?
MySQL 8.0 (2018) zastąpił pliki .frm dla poszczególnych tabel transakcyjnym słownikiem danych przechowywanym wewnątrz InnoDB, rozwiązując stary problem rozbieżności plików .frm z metadanymi serwera.
Skopiowałem plik .frm, ale otrzymuję błąd „Table doesn't exist” - dlaczego?
InnoDB potrzebuje pasującej przestrzeni tabel (.ibd) i wpisu w słowniku danych. Samo skopiowanie pliku .frm nie wystarczy; przywróć cały katalog danych lub użyj narzędzia takiego jak mysqlfrm, aby odczytać samą strukturę.
Jakie programy otwierają .frm poza MySQL?
Serwer MariaDB również rozumie format .frm, a mysqlfrm odczytuje go bez uruchomionego serwera. Nie istnieje ogólna „przeglądarka” - jest to wewnętrzny format serwera.

Źródła

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

Odkrywaj dalej

w całej bazie danych

Najpopularniejsze rozszerzenia w tym tygodniu

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

Powiązane rozszerzenia

.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

Darmowe narzędzia do plików

Identyfikator plików i konwerter obrazów w przeglądarce - wszystko działa na Twoim urządzeniu.

Otwórz przybornik

Przeglądaj rozszerzenia plików A-Z