無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 4 データベース管理 :: 4.9 バックアップとリカバリ :: 4.9.2 バックアップとリカバリ手法の例示
« 4.9.1 データベースのバックアップ

4.9.2.1 バックアップ ポリシー »
Section Navigation      [Toggle]
  • 4.9 バックアップとリカバリ
  • 4.9.1 データベースのバックアップ
  • 4.9.2 バックアップとリカバリ手法の例示
    • 4.9.2.1 バックアップ ポリシー
    • 4.9.2.2 バックアップ ファイルでリカバリ
    • 4.9.2.3 バックアップ ストラテジーの概要
  • 4.9.3 任意時点のリカバリ
  • 4.9.4 テーブル保守とクラッシュ リカバリ

4.9.2. バックアップとリカバリ手法の例示

[+/-]

4.9.2.1. バックアップ ポリシー
4.9.2.2. バックアップ ファイルでリカバリ
4.9.2.3. バックアップ ストラテジーの概要

このセクションでは、クラッシュなどで、リカバリが必要にあるデータのバックアップ手順について説明します。クラッシュとは次に示す事柄です。

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

  • 停電

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

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

例示のコマンドには、mysqldump および mysql プログラムなどの --user および --password オプションなどは入っていません。MySQL サーバで接続が必要な場合などに応じて、そのようなオプションを追加してください。

ここでは、データが InnoDB ストレージ エンジンで保存しているものとします。つまり、トランザクションと自動クラッシュ リカバリのサポートがあるという前提です。このときの MySQL サーバには問題になる負荷がかかっているものとします。

オペレーティング システムのクラッシュまたは停電などの場合、MySQL のディスク データは再起動すると利用できるようになると考えられます。クラッシュすると InnoDB データ ファイルは、データの整合性を失う可能性がありますが、InnoDB はログを読み込み、まだデータ ファイルにフラッシュしていないコミット/非コミット トランザクションのリストを検索します。InnoDB は自動的にまだコミットしていないトランザクションをロール バックし、コミットしたものはデータ ファイルにフラッシュします。ユーザは、このリカバリ プロセスの情報をMySQL エラー ログから読むことができます。

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 データのリカバリを行います。つまり、このときにはすでにバックアップを取っていることが必要です。このような場合を回避するためには、バックアップのポリシーをデザインしなければなりません。(次のセクションを参照のこと。)

Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.