MySQL 8.0 リファレンスマニュアル


15.18.1 InnoDB バックアップ

安全なデータベース管理の鍵は、定期的なバックアップを作成することです。 データ量、MySQL サーバーの数およびデータベースワークロードに応じて、これらのバックアップ手法を単独または組み合せて使用できます: MySQL サーバーの停止中にファイルをコピーして hot backup with MySQL Enterprise Backup; cold backup; logical backup with mysqldump for small data volumes or record the structure of schema objects. ホットバックアップとコールドバックアップは、実際のデータファイルをコピーする physical backups です。これは、リストアを高速化するために mysqld サーバーで直接使用できます。

InnoDB データをバックアップするには、MySQL Enterprise Backup を使用することをお薦めします。

注記

InnoDB では、サードパーティのバックアップツールを使用してリストアされるデータベースはサポートされていません。

ホットバックアップ

MySQL Enterprise Backup コンポーネントの一部である mysqlbackup コマンドを使用すると、実行中の MySQL インスタンス (InnoDB テーブルを含む) を操作の中断を最小限に抑えながらバックアップし、データベースの一貫性のあるスナップショットを生成できます。 mysqlbackupInnoDB テーブルをコピーする場合、InnoDB テーブルに対する読取りおよび書込みを続行できます。 MySQL Enterprise Backup はまた、圧縮バックアップファイルを作成したり、テーブルやデータベースのサブセットをバックアップしたりすることもできます。 ユーザーは、MySQL バイナリログと組み合わせてポイントインタイムリカバリを実行できます。 MySQL Enterprise Backup は、MySQL Enterprise サブスクリプションの一部です。 詳細は、セクション30.2「MySQL Enterprise Backup の概要」を参照してください。

コールドバックアップ

MySQL サーバーを停止できる場合は、InnoDB がテーブルの管理に使用するすべてのファイルで構成される物理バックアップを作成できます。 次の手順を使用します。

  1. MySQL サーバーの slow shutdown を実行し、エラーなしで停止していることを確認します。

  2. すべての InnoDB データファイル (ibdata ファイルおよび .ibd ファイル) を安全な場所にコピーします。

  3. すべての InnoDB ログファイル (ib_logfile ファイル) を安全な場所にコピーします。

  4. 1 つまたは複数の my.cnf 構成ファイルを安全な場所にコピーします。

mysqldump を使用した論理バックアップ

物理バックアップに加えて、mysqldump を使用してテーブルをダンプすることで、論理バックアップを定期的に作成することをお薦めします。 バイナリファイルは、気付かないうちに破損することがあります。 ダンプされたテーブルは人間が読むことのできるテキストファイルに格納されるため、テーブルの破損を見つけることが容易になります。 また、形式が単純であるため、重大なデータ破損につながる可能性も少なくなります。mysqldump には、ほかのクライアントをロックすることなく、整合性のあるスナップショットを作成するための --single-transaction オプションも用意されています。 セクション7.3.1「バックアップポリシーの確立」を参照してください。

レプリケーションは InnoDB テーブルと連携して動作するため、MySQL のレプリケーション機能を使用して、データベースのコピーを高可用性が必要なデータベースサイトに保持できます。 セクション15.19「InnoDB と MySQL レプリケーション」を参照してください。


関連キーワード:  InnoDB, テーブル, バックアップ, 構成, 圧縮, ロック, スペース, インデックス, INFORMATION, SCHEMA