Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


MySQL 8.0 リファレンスマニュアル  /  バックアップとリカバリ  /  バックアップおよびリカバリ戦略の例

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

7.3 バックアップおよびリカバリ戦略の例

このセクションでは、いくつかの種類のクラッシュ後にデータをリカバリできるようにするバックアップを実行するための手順について説明します。

  • オペレーティングシステムのクラッシュ

  • 停電

  • ファイルシステムのクラッシュ

  • ハードウェアの問題 (ハードドライブ、マザーボードなど)

コマンド例には、mysqldump および mysql クライアントプログラム用の --user--password などのオプションは含まれていません。 クライアントプログラムが MySQL サーバーに接続できるようにする必要に応じて、それらのオプションを含めてください。

データは、トランザクションと自動クラッシュリカバリをサポートする InnoDB ストレージエンジンに格納されているとします。 さらに、MySQL サーバーはクラッシュ時に負荷がかかっているとします。 そうでなければ、リカバリは必要ないことがあります。

オペレーティングシステムのクラッシュや停電の場合、再起動後、MySQL のディスクデータを使用できるものと考えることができます。 InnoDB データファイルにはクラッシュのために一貫したデータが格納されていない可能性がありますが、InnoDB はそのログを読み取り、データファイルにフラッシュされていないコミット保留中のトランザクションやコミットされていないトランザクションのリストを見つけます。 InnoDB はまだコミットされていないトランザクションを自動的にロールバックし、コミットされたものはデータファイルにフラッシュします。 このリカバリプロセスに関する情報は、MySQL エラーログによってユーザーに伝えられます。 次はログの抜粋の例です。

Press CTRL+C to copy
InnoDB: Database was not shut down normally. InnoDB: Starting recovery from log files... InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 0 13674004 InnoDB: Doing recovery: scanned up to log sequence number 0 13739520 InnoDB: Doing recovery: scanned up to log sequence number 0 13805056 InnoDB: Doing recovery: scanned up to log sequence number 0 13870592 InnoDB: Doing recovery: scanned up to log sequence number 0 13936128 ... InnoDB: Doing recovery: scanned up to log sequence number 0 20555264 InnoDB: Doing recovery: scanned up to log sequence number 0 20620800 InnoDB: Doing recovery: scanned up to log sequence number 0 20664692 InnoDB: 1 uncommitted transaction(s) which must be rolled back InnoDB: Starting rollback of uncommitted transactions InnoDB: Rolling back trx no 16745 InnoDB: Rolling back of trx no 16745 completed InnoDB: Rollback of uncommitted transactions completed InnoDB: Starting an apply batch of log records to the database... InnoDB: Apply batch completed InnoDB: Started mysqld: ready for connections

ファイルシステムのクラッシュやハードウェアの問題の場合、再起動後、MySQL ディスクデータを使用できないものと考えることができます。 これは、ディスクデータの一部のブロックが読み取り不可能になったため、MySQL が正常な起動に失敗することを意味します。 この場合、ディスクを再フォーマットするか、新しいディスクをインストールするか、または根本的な問題を修正する必要があります。 さらに、バックアップから MySQL データをリカバリする必要があります。これはバックアップがすでに行われていることを意味します。 それが確実に当てはまるようにするには、バックアップポリシーを設計し、実装します。