.FRM

FRM ファイル

MySQL Table Definition File
質問する
クイック回答

FRM ファイルは MySQL のテーブル定義ファイルです。1つのデータベーステーブルの列名、データ型、インデックスを保存しますが、実際の行データは含まれません。内容を読み取るには、ファイルに対して mysqlfrm --diagnostic を実行するか、データディレクトリを一致する MySQL または MariaDB サーバーに復元します。MySQL 8.0 以降は .frm ファイルを一切作成しません。

開発元: MySQL AB / Oracle Corporation カテゴリ: データベースファイル MIME: application/octet-stream
対応OS Windows macOS Linux
関連: .DB · .DBF · .ACCDB · .SQL

このページの内容

19k+ 個の拡張子を索引済み
最終確認日:Aug 15, 2026

ファイルの種類がわかりませんか?

ファイルを識別ツールにドロップしてください。最初の数バイトを読み取って形式を特定します。

ファイルを識別する

FRM ファイル形式とは?

.frm ファイルは、単一のデータベーステーブルの構造とレイアウトに関する情報を保存する MySQL テーブル定義ファイルです。テーブルごとに1つの .frm ファイルが作成され、テーブル名が .frm のファイル名として使用されます。例えば、orders という名前のテーブルは、MySQL データディレクトリ内に orders.frm を生成します。

.frm 形式は、テーブルスキーマ(列名、データ型、長さ、デフォルト値、インデックス/キーのメタデータ)のみを記録します。行データが保持されることはありません。MyISAM テーブルの場合、実際のデータは対になる .MYD ファイル に保存され(インデックスは .MYI ファイル に保存されます)、MySQL が MyISAM テーブルに完全にアクセスするには、これら3つのファイルがすべて揃っている必要がありました。InnoDB テーブルでは、.frm は個別の .IBD テーブルスペースファイル とペアになります。

このファイルは、マジックバイト 0xFE 0x01 で始まる独自のリトルエンディアン・バイナリ・ブロブです。1995年の MySQL 1.0 で導入され、MySQL 5.7 および MariaDB に至るまで、MyISAM や InnoDB を含むすべてのストレージエンジンで使用されてきました。MySQL 8.0(2018年12月)では .frm ファイルが完全に廃止され、テーブルメタデータは InnoDB のトランザクションデータ辞書に移行されました。MariaDB は、この分岐後も .frm ファイルの使用を継続しています。

行データが紛失または破損した場合でも、残っている .frm ファイルを mysqlfrm 診断ユーティリティで検査することで、CREATE TABLE 文を再構築し、列のレイアウトを復元することが可能です。

セキュリティと安全性

リスク: LOW

.frm ファイルは受動的なバイナリ・テーブル・メタデータです。実行コードは含まれておらず、取り扱いは安全です。実用上のリスクはマルウェアではなくデータ復元に関するものです。誤った MySQL バージョンに .frm を復元すると、失敗したり辞書が破損したりする可能性があります。また、.MYD/.ibd ファイルがない .frm 単体では行データを復元できません。常にコピーで作業し、元のサーバーバージョンと一致させ、関連するデータファイルをセットで保管してください。

形式の詳細

概要
正式名称MySQL Table Definition File別名 MySQL table format file, MySQL .frm file
開発元MySQL AB / Oracle Corporation登場時期 1995 (MySQL 1.0, used by ISAM/MyISAM/InnoDB through MySQL 5.7)
MIME タイプapplication/octet-stream
タイプバイナリ・テーブル定義ファイル(単一テーブルのデータ辞書エントリ)
この拡張子は以下でも使用されています…
  • Visual Basic フォームファイル - VB6 以前におけるフォームのレイアウトとコントロールを記述するソースファイル(プレーンテキスト)。
  • FormFlow フォーム - レガシーな JetForm/FormFlow ソフトウェアで作成された電子フォームドキュメント。
  • Adobe FrameMaker (レガシー) - 古い FrameMaker のインストール環境で、一部のフォーム/テンプレートリソースに .frm が使用されていました。
マジックバイト ・ ファイルシグネチャ
オフセット
0001
16進数
FE01
ASCII
··
FRM ヘッダーはマジック/バージョンワード(一般的にクラシック形式では 0xFE 0x01)で始まります。バージョンをまたいで安定した ASCII シグネチャは存在しません。ファイルは独自のバイナリ・ブロブであるため、識別は拡張子とコンテキスト(MySQL データディレクトリ内で .MYD/.MYI または .ibd の隣にあること)によって行われます。

FRM ファイルを開くプログラム

Windows3 apps
MySQL Server オープンソース テーブルファイルをサーバーのデータディレクトリ(バージョンが一致するもの)に配置し、MySQL を起動してから SHOW CREATE TABLE / mysqldump を実行します。これが .frm を使用する適切な方法です。
mysqlfrm (MySQL Utilities) オープンソース mysqlfrm --diagnostic table.frm を実行して、実行中のサーバーなしでファイルから直接 CREATE TABLE 文を読み取ります。
MariaDB Server オープンソース MariaDB は現在も .frm を認識します。インストール後、ファイルをデータディレクトリに配置し、スキーマやデータをダンプします。
macOS1 app
MySQL Server オープンソース テーブルファイルをサーバーのデータディレクトリ(バージョンが一致するもの)に配置し、MySQL を起動してから SHOW CREATE TABLE / mysqldump を実行します。これが .frm を使用する適切な方法です。
Linux2 apps
MySQL / MariaDB Server オープンソース ファイルを /var/lib/mysql(一致するバージョン)にコピーし、サービスを起動してから SHOW CREATE TABLE または mysqldump を実行します。
mysqlfrm (MySQL Utilities) オープンソース mysqlfrm --diagnostic table.frm を実行して、実行中のサーバーなしでファイルから直接 CREATE TABLE 文を読み取ります。

技術的詳細

詳細仕様
ファイル構造独自の小端(リトルエンディアン)バイナリ・ブロブ。圧縮や暗号化なし
マジックバイトオフセット 0 に 0xFE 0x01(バージョン依存のバイナリヘッダー。固定の ASCII シグネチャなし)
内容列定義(名前、型、長さ、デフォルト値)、インデックス/キーのメタデータ、テーブルオプション。スキーマのみで行データは含まない
一般的なファイルサイズ1テーブルあたり 1 KB - 50 KB。列やインデックスの数に応じて増加
MIME タイプapplication/octet-stream
1テーブルにつき1ファイル各テーブルはテーブル名に基づいた独自の .frm ファイルを持ち、MySQL データディレクトリ内のスキーマ用サブディレクトリに保存される
MyISAM の関連ファイル.MYD(行データ)および .MYI(インデックスデータ)。MyISAM テーブルへの完全なアクセスには3つすべてが必要
InnoDB の関連ファイル.ibd テーブルスペースファイル。 .frm がスキーマを保持し、.ibd がデータとインデックスを保持していた
対応エンジンMySQL 3.x - 5.7 におけるすべてのストレージエンジン:MyISAM、InnoDB、MEMORY、CSV、ARCHIVE など
廃止バージョンMySQL 8.0 (2018年12月):メタデータが InnoDB トランザクションデータ辞書に移動。 .frm ファイルの作成・読み取りは行われない
継続使用MariaDB は MySQL 8.0 との分岐後も .frm ファイルの生成を継続
復元ユーティリティmysqlfrm (MySQL Utilities) は、スタンドアロンの .frm を読み取って CREATE TABLE DDL 文を再構築する
開発元MySQL AB(オリジナル)、Oracle Corporation(2010年の買収以降)
オペレーティングシステムクロスプラットフォーム:Linux、Windows、macOS、FreeBSD など、MySQL または MariaDB が動作する環境
リリース日1995 (MySQL 1.0, used by ISAM/MyISAM/InnoDB through MySQL 5.7)
最新バージョンLast used in MySQL 5.7 / MariaDB; removed from MySQL 8.0 (December 2018)
仕様書dev.mysql.com

FRM の変換

コミュニティ Q&A

ユーザーからの質問
質問する
FRM ファイルを扱うユーザーからヘルプを得られます。OSやソフトウェアのバージョンなど、具体的に記載してください。
アカウント不要 ・ 通常1日以内に回答されます

まだ質問はありません。FRM ファイルについて最初の質問をしてみましょう。

よくある質問

.frm ファイルを開くにはどうすればよいですか?
手動で開くことはありません。mysqlfrm --diagnostic table.frm を使用してスキーマを読み取るか、テーブルファイルを一致する MySQL/MariaDB サーバーのデータディレクトリに配置して SHOW CREATE TABLE を実行してください。バイナリをテキストエディタで直接開いても文字化けが表示されるだけです。
.frm ファイルだけでデータを復元できますか?
いいえ。 .frm にはテーブル構造(列、型、インデックス)のみが保持されています。実際の行データは .MYD (MyISAM) または .ibd (InnoDB) ファイルに存在します。これらがない場合、スキーマは復元できますが、データ自体は復元できません。
.frm から CREATE TABLE 文を取得するにはどうすればよいですか?
MySQL Utilities の mysqlfrm --diagnostic yourtable.frm を実行するか、ファイルを MySQL/MariaDB サーバーに復元して SHOW CREATE TABLE を実行します。
なぜ MySQL 8.0 には .frm ファイルがないのですか?
MySQL 8.0 (2018) では、テーブルごとの .frm ファイルが InnoDB 内に保存されるトランザクションデータ辞書に置き換えられました。これにより、.frm ファイルがサーバーのメタデータと同期しなくなるという古い問題が解決されました。
.frm をコピーしましたが「Table doesn't exist」と表示されます。なぜですか?
InnoDB の場合、一致するテーブルスペース (.ibd) とデータ辞書のエントリが必要です。.frm だけをコピーしても不十分です。データディレクトリ全体を復元するか、mysqlfrm のようなツールを使用して構造のみを読み取ってください。
MySQL 以外に .frm を開けるプログラムはありますか?
MariaDB Server も .frm を認識します。また、mysqlfrm はサーバーなしで読み取ることができます。一般的な「ビューアー」は存在せず、サーバー内部用の形式です。

参考文献

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

さらに探索

データベース全体から

今週のトップ拡張子

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

関連する拡張子

.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

無料ファイルツール

ブラウザで動作するファイル識別および画像変換ツール。すべてお使いのデバイス上で実行されます。

ツールボックスを開く

ファイル拡張子を A-Z で閲覧