MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

7.1 バックアップとリカバリの種類

このセクションでは、さまざまな種類のバックアップの特性について説明します。

物理 (raw) バックアップと論理バックアップ

物理バックアップは、データベースの内容を格納するディレクトリとファイルの raw コピーから構成されます。 この種類のバックアップは、問題の発生時に早急にリカバリさせる必要がある大規模で重要なデータベースに適しています。

論理バックアップは、論理データベース構造として表される情報 (CREATE DATABASECREATE TABLE ステートメント) と内容 (INSERT ステートメントまたは区切りテキストファイル) を保存します。 この種類のバックアップは、ユーザーがデータ値やテーブル構造を編集したり、別のマシンアーキテクチャーにデータを再作成したりできる少量のデータに適しています。

物理バックアップ方法にはこれらの特性があります。

論理バックアップ方法にはこれらの特性があります。

オンラインバックアップとオフラインバックアップ

オンラインバックアップは、データベース情報をサーバーから取得できるように、MySQL サーバーが実行中に行われます。 オフラインバックアップは、サーバーが停止中に行われます。 この区別は、ホットバックアップとコールドバックアップとして表すこともできます。ウォームバックアップは、サーバーが実行したままですが、外部からデータベースファイルにアクセスしている間のデータの変更に対してロックされます。

オンラインバックアップ方法にはこれらの特性があります。

オフラインバックアップ方法にはこれらの特性があります。

オンラインとオフラインの同様の違いは、リカバリ操作にも当てはまり、同様の特性が当てはまります。 ただし、リカバリにはより強力なロックが必要であるため、オンラインバックアップよりもオンラインリカバリの影響を受ける可能性が高くなります。 バックアップ時、クライアントはバックアップ中にデータを読み取ることができます。 リカバリはデータを変更し、読み取るだけでないため、データのリストア中は、クライアントのデータへのアクセスを妨げる必要があります。

ローカルバックアップとリモートバックアップ

ローカルバックアップは MySQL サーバーが実行している同じホストで実行され、リモートバックアップは別のホストから実行されます。 特定の種類のバックアップでは、出力がサーバーホストにローカルで書きこまれる場合でも、バックアップをリモートホストから開始できます。

スナップショットバックアップ

一部のファイルシステム実装では、スナップショットを取得できます。 これらは、ファイルシステム全体の物理コピーを必要とせずに、特定の時点のファイルシステムの論理コピーを提供します。 (たとえば、実装では、スナップショット取得時間後に変更されたファイルシステムの部分のみがコピーされるように、コピーオンライト (copy-on-write) 技法を使用することがあります。) MySQL 自体はファイルシステムスナップショットを取得するための機能を提供していません。 これは Veritas、LVM、または ZFS などのサードパーティーソリューションから使用できます。

完全バックアップと増分バックアップ

完全バックアップには、特定の時点の MySQL サーバーによって管理されるすべてのデータが含まれます。 増分バックアップは、特定の期間 (ある時点から別の時点まで) 中にデータに行われた変更から構成されます。 MySQL では、このセクションで先述したものなど、完全バックアップを実行するためのさまざまな方法があります。 増分バックアップは、サーバーのバイナリログを有効にすることによって可能になります。サーバーはそれをデータの変更を記録するために使用します。

完全リカバリとポイントインタイム (増分) リカバリ

完全リカバリでは、完全バックアップからすべてのデータをリストアします。 これは、サーバーインスタンスをバックアップが行われたときのその状態にリストアします。 その状態が十分に最新でない場合、完全リカバリのあとに、完全バックアップ以降に行われた増分バックアップのリカバリを行なって、サーバーをより新しい状態にすることができます。

増分リカバリは、特定の期間中に行われた変更のリカバリです。 これは、サーバーの状態を特定の時点の最新にするため、ポイントインタイムリカバリとも呼ばれます。 ポイントインタイムリカバリは、バイナリログに基づき、一般にバックアップが行われたときの状態にサーバーをリストアするバックアップファイルからの完全リカバリのあとに行われます。 バイナリログファイルに書き込まれたデータの変更が増分リカバリとして適用され、データの変更が元に戻され、サーバーが目的の時点の状態になります。

テーブルの保守

テーブルが破損した場合、データの完全性が損なわれる可能性があります。 InnoDB テーブルの場合、これはよくある問題ではありません。 MyISAM テーブルをチェックし、問題が見つかった場合にそれらを修復するプログラムについては、セクション7.6「MyISAM テーブルの保守とクラッシュリカバリ」を参照してください。

バックアップのスケジューリング、圧縮、および暗号化

バックアップスケジューリングはバックアップ手順の自動化に役立ちます。 バックアップ出力の圧縮によって、領域要件が縮小し、出力の暗号化により、バックアップされたデータの権限のないアクセスに対するセキュリティーが強化されます。 MySQL 自体はこれらの機能を提供していません。 MySQL Enterprise Backup 製品によって InnoDB バックアップを圧縮し、バックアップ出力の圧縮や暗号化は、ファイルシステムユーティリティーを使用して実現できます。 その他のサードパーティーソリューションも利用できます。