.IBD

IBD ファイル

MySQL InnoDB Tablespace
質問する
クイック回答

IBD ファイルは MySQL/MariaDB InnoDB のテーブルスペースです。これは、«file-per-table» モードにおいて、1 つのデータベーステーブルの行とインデックスを保持するバイナリファイルです。スタンドアロンのビューアは存在しません。このファイルは、システムファイル(ibdata1、redo ログ)も保持している実行中の MySQL または MariaDB サーバー内でのみ動作します。データを取り出すには、一致するサーバーにアタッチして mysqldump でエクスポートしてください。

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

このページの内容

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

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

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

ファイルを識別する

IBD ファイル形式とは?

拡張子 .ibd を持つファイルは、テーブルの行、クラスタ化インデックス、セカンダリインデックスを含む MySQL InnoDB データベーステーブルデータ を格納します。MySQL 5.6 以降のデフォルトである «file-per-table» モードでは、各 .ibd ファイルが 1 つのテーブルのデータとインデックスを保持し、ファイル名はテーブル名に対応します。以前の構成では、複数のテーブルとインデックスで共有テーブルスペースを使用することが可能で、各テーブルスペースは一意の ID 番号で識別されていました。

.ibd ファイルは固定サイズの ページ で構成されており、デフォルトは 16 KB です(作成時に 4 KB から 64 KB まで設定可能)。フォーマットはバイナリ形式で、定義された役割を持ついくつかのページタイプに分かれています:

  • FSP_HDR / ヘッダーページ - ページ 0。テーブルスペースのヘッダーとメタデータが含まれます。
  • INDEX ページ - テーブルの行(主キーでクラスタ化)とセカンダリインデックスのエントリを保持する B-tree ページです。
  • XDES PAGE - エクステント記述子ページ。エクステントページの内容を記述します。
  • INODE PAGE - ファイルセグメント情報を含むページです。

.ibd ファイルは複雑な内部構造を持っているため、専用のデータベースツールを使用して開く必要があります。このフォーマットは、オプションの透過的 暗号化(MySQL 5.7 以降で利用可能な AES ベースの InnoDB TDE)およびオプションのページレベル圧縮(ROW_FORMAT=COMPRESSED または透過的ページ圧縮)をサポートしています。各ページには、整合性検証のためのページごとの CRC32 チェックサムが含まれています。

MySQL 8.0 以降、テーブルスキーマ(シリアル化された辞書情報、SDI)が .ibd に直接埋め込まれるようになり、MySQL 5.7 以前で必要だった個別の .frm ファイルが不要になりました。.ibd フォーマットは MariaDB や Percona Server でもサポートされています。

サーバー間で .ibd データをインポートするには、付随する .cfg メタデータファイル(テーブルスペースが暗号化されている場合は .cfp ファイルも)を一緒にインポートする必要があります。

セキュリティと安全性

リスク: MEDIUM

.ibd は不活性なデータであり、実行されることはありませんが、運用上およびプライバシー上の実質的なリスクを伴います。運用面では、MySQL サーバーの実行中に .ibd ファイルをコピー、移動、または削除しないでください。また、異なるサーバーバージョンの .ibd ファイルを混ぜたり、システムテーブルスペース (ibdata1) や redo ログなしで使用したりしないでください。これを行うとテーブルが破損したりサーバーがクラッシュしたりします。移動するためのサポートされている方法はトランスポータブル・テーブルスペースです。プライバシー面では、.ibd にはテーブルの実際の行がディスク上にプレーンテキストで含まれているため(TDE 暗号化が有効でない限り)、.ibd の流出はデータ漏洩を意味します。本番環境の .ibd ファイルは、ユーザーレコード、資格情報、または個人情報 (PII) をさらす可能性があります。機密性の高いデータベースとして取り扱い、保管してください。

形式の詳細

概要
正式名称MySQL InnoDB Tablespace別名 InnoDB file-per-table tablespace, MySQL InnoDB data file
開発元Oracle Corporation (InnoDB; originally Innobase Oy)登場時期 2005-2008 (file-per-table via innodb_file_per_table; default since MySQL 5.6, 2013)
MIME タイプapplication/octet-stream
タイプ16 KB ページで構成されたバイナリテーブルスペース

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

Windows3 apps
MySQL Workbench 無料 GUI クライアントです。テーブルがロードされている実行中の MySQL サーバーに接続し、閲覧やエクスポートを行います。これ単体で生の .ibd ファイルを読み取ることはできません。
MySQL Server 無料 唯一の適切な «オープナー» です。サーバーのデータディレクトリ配下の一致するデータベースに .ibd を配置するか(または IMPORT TABLESPACE を使用)、mysqld を起動してテーブルをクエリ/エクスポートします。正しいサーバーバージョンとシステムファイルが必要です。
MariaDB Server オープンソース InnoDB を備えた MySQL のドロップイン代替(フォーク)です。互換性のある .ibd テーブルスペースをホストおよびインポートし、データをエクスポートできます。バージョンの互換性は依然として重要です。
macOS1 app
MySQL Server / MariaDB 無料 Windows と同様のアプローチです。ローカルの MySQL または MariaDB サーバーを実行し、テーブルスペースをアタッチしてクエリ/エクスポートします。macOS 用のスタンドアロン .ibd ビューアは存在しません。
Linux2 apps
MySQL Server / MariaDB / Percona Server 無料 ソースバージョンと一致するサーバーをインストールし、テーブルをデータディレクトリに配置するか IMPORT TABLESPACE を実行して、mysqldump でデータを取り出します。これが標準的なサーバーサイドの手順です。
undrop-for-innodb (recovery toolkit) オープンソース 最終手段のフォレンジックリカバリツールです。動作するサーバーがない場合に、.ibd から生の InnoDB ページを解析して行を抽出します。専門家向けのツールであり、簡易的なビューアではありません。

技術的詳細

詳細仕様
デフォルトのページサイズ16 KB。テーブルスペース作成時に innodb_page_size を介して 4 KB、8 KB、32 KB、または 64 KB に設定可能
バイト順序ビッグエンディアン - すべてのマルチバイト整数はディスク上にビッグエンディアン順で格納される
ファイルフォーマットのバリアントAntelope(REDUNDANT/COMPACT 行フォーマット、MySQL ≤5.7)または Barracuda(DYNAMIC/COMPRESSED、MySQL 5.7+)
ページヘッダー/トレーラー各ページには、ページ本体を囲む 38 バイトの FIL ヘッダーと 8 バイトの FIL トレーラーがある
ファイルシグネチャ固定のマジックバイトなし。最初のページは FSP_HDR(FIL ヘッダーの 24-25 バイト目がタイプ 0x0008)
ページごとのチェックサムデフォルトで CRC32(MySQL 5.6 以降)。InnoDB レガシーまたはなしもサポート - 値は FIL ヘッダーとトレーラーに格納される
インデックス構造主キーでクラスタ化された B+ tree。セカンダリインデックスは直接の行ポインタではなく主キー参照を格納する
エクステントサイズ1 MB(連続する 64 個の 16 KB ページ)。テーブルスペースは一度に 1 エクステントずつ拡張される
暗号化AES-256 InnoDB 透過的データ暗号化 (TDE)、ページごとのキーラッピング。MySQL 5.7 および MariaDB 10.1 で導入
圧縮ROW_FORMAT=COMPRESSED はページレベルで zlib を使用(Barracuda フォーマット)。透過的ページ圧縮はファイルシステムのホールパンチングを使用
オーバーフロー・ストレージページ内のしきい値を超える列値は、同じテーブルスペース内の専用のオフページ BLOB/オーバーフローページに溢れる
スキーマの保存MySQL 8.0+ はテーブルスペース内に SDI (Serialized Dictionary Information) を埋め込む。MySQL 5.7 以前は別の .frm ファイルにスキーマを保存
サポートされる行フォーマットREDUNDANT, COMPACT (Antelope); DYNAMIC (MySQL 5.7 以降のデフォルト), COMPRESSED (Barracuda)
ページ断裂保護ダブルライトバッファにより、各 16 KB ページを最終的なテーブルスペースの場所に書き込む前に専用領域に書き込み、部分的な書き込みから保護する
MIME タイプapplication/octet-stream (フォーマット固有の MIME タイプは登録されていない)
開発元Oracle Corporation (InnoDB エンジン。元は Innobase Oy、2005年に Oracle が買収)
リリース日2005-2008 (file-per-table via innodb_file_per_table; default since MySQL 5.6, 2013)
最新バージョンInnoDB in MySQL 8.0 / 8.4 (data dictionary moved into the tablespace; .frm removed)
仕様書dev.mysql.com

IBD の変換

コミュニティ Q&A

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

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

よくある質問

IBD ファイルとは何ですか?
MySQL/MariaDB InnoDB の «file-per-table» テーブルスペースです。1 つのデータベーステーブルの行とインデックスを保持するバイナリファイルです。これはデータベースの一部であり、単独のドキュメントではありません。
IBD ファイルを開いたり表示したりするにはどうすればよいですか?
スタンドアロンのビューアはありません。一致する MySQL/MariaDB サーバーにロードし(システムテーブルスペース、redo ログ、5.7 の場合は .frm スキーマも必要)、テーブルをクエリまたはエクスポートします。生の .ibd を開けると主張するツールは、リカバリユーティリティです。
IBD ファイルからデータを取り出すにはどうすればよいですか?
MySQL サーバーにテーブルをアタッチし(データディレクトリ経由または IMPORT TABLESPACE を使用)、mysqldump で .sql ファイルにエクスポートするか、SELECT ... INTO OUTFILE で CSV に出力します。停止したサーバーの場合は、トランスポータブル・テーブルスペースまたは undrop-for-innodb を使用します。
別のサーバーに .ibd をコピーするだけで使えますか?
単純なコピーでは不可能です。«FLUSH TABLES ... FOR EXPORT»(.cfg が作成されます)を実行し、.ibd と .cfg をコピーして、ターゲット側に一致する空のテーブルを作成してから «ALTER TABLE ... IMPORT TABLESPACE» を実行します。バージョンとテーブル定義が一致している必要があります。
MySQL 8.0 に .frm がない場合、テーブルのスキーマはどこにありますか?
MySQL 8.0 は、スキーマをシリアル化された辞書情報(SDI)として .ibd 内部に埋め込んでいます。«ibd2sdi table.ibd» を実行すると、テーブル定義を JSON として抽出できます。MySQL 5.7 以前は、スキーマを別の .frm ファイルに保存しています。
空き容量を増やすために .ibd ファイルを削除してもいいですか?
ファイルシステムから直接削除しないでください。InnoDB のデータ辞書が破損します。テーブルのデータを削除するには、MySQL 内から DROP TABLE(または TRUNCATE)を実行してください。これにより .ibd が安全に削除されます。手動でファイルを削除するのは、サーバーが停止しており、テーブルが不要であることが確実な場合のみにしてください。
MySQL が .ibd のせいで起動しません。どうすればよいですか?
一般的な原因は、.ibd の欠落や不一致、バージョンの不一致、または破損です。復旧オプションには、innodb_force_recovery を使用して読み取り専用で起動しデータをダンプする方法、バックアップからの復元、または最終手段としての undrop-for-innodb などのツールがあります。必ずコピーに対して作業を行ってください。

参考文献

1MySQL Reference Manual - File-Per-Table Tablespacesdev.mysql.com
2MySQL Reference Manual - Copying Tablespaces to Another Instance (transportable)dev.mysql.com

さらに探索

データベース全体から

今週のトップ拡張子

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

関連する拡張子

.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 で閲覧