10bet网址
MySQL Enterprise Backupユザズガド(バジョン3.11)
下载本手册

4.4単一の.ibdファルのバックアップとリストア

テブル固有のテブルスペスを持テブル(.ibdファaapl . exeルに格納)は,MySQL Serverを停止させずに個別にリストアできます。間違ってテ,ブルデ,タを削除または更新した場合に,この手法を適用でき,删除表截断表,または删除数据库のステ,トメントを通じて,実際にはテ,ブル自体を失うことがありません。

.ibdファイルのクリーンなバックアップがある場合,次のようにして,クリーンなバックアップが作成されたMySQLインストール状態にリストアできます。

  1. MySQL 5.5以前の場合,テーブルがすでに存在し,バックアップを取得して以降に破棄または切り捨てられていないことが必要です。InnoDBテーブルが切り捨てられるか削除されて再作成された場合,このテーブルは新しいテーブルIDを取得します。データベース内のテーブルとバックアップされたテーブルとの間でIDが一致しないと,このテーブルをリストアできないことがあります。テーブルIDが一致する必要があるのは,類似した一連のデータベースおよびテーブルを持つ別のサーバーではなく,バックアップデータが得られた同じMySQL服务器にリストアする必要がある理由でもあります。同じシリーズのMySQL服务器のある一般提供開始(GA)バージョンから別バージョンにリストアが行われるかぎり,この制限はMySQL 5.6以降には適用されません。

  2. リストアされるテ,ブルに対する書き込み操作を防止します。これにより,リストアの進行中にユ,ザ,がテ,ブルを変更できなくなります。

    锁表tbl_name写;
  3. 次のALTER TABLEステ,トメントを発行します。

    ALTER TABLEtbl_name丢弃表空间;

    注意:これにより現在の.ibdファ@ @ルは削除されます。

  4. バックアップ.ibdファルをコピして,適切なデタベスディレクトリに戻します。

  5. 次のALTER TABLEステ,トメントを発行します。

    ALTER TABLEtbl_name进口表空间;
  6. 書き込みロックを解除して,リストア手順を完了します。

    打开表;

このコンテキストでは,クリ,ンな.ibdファ@ @ルバックアップとは次のことを意味します。

  • .ibdファesc escル内に,トランザクションによってコミットされていない変更がない。

  • .ibdファル内に,マジされていない挿入バッファエントリがない。

  • パ,ジにより,.ibdファルからすべての削除マクされたンデックスレコドが削除されている。

  • mysqldが,.ibdファルのすべての変更されたペジをバッファプルからファルにフラッシュしている。

次の方法を利用して,このようなクリ,ンなバックアップ.ibdファ@ @ルを作成できます。

  1. mysqldサ,バ,からのすべてのアクティビティ,を停止して,すべてのトランザクションをコミットします。

  2. 显示innodb状态で,デ,タベ,ス内にアクティブなトランザクションがないことが表示され,InnoDBのメ▪▪ンスレッドステ▪▪タスが等待服务器活动になるまで待機します。続いて,.ibdファ▪▪ルのコピ▪▪を作成できます。

.ibdファmysqlbackupを使用するというものです。

  1. ——only-innodbオプションまたは——only-innodb-with-frmオプションを付けてmysqlbackupを使用して,InnoDBンスト,ルをバックアップします。

  2. mysqlbackup……运用原木を実行して,バックアップデ,タベ,スの一貫したバ,ジョンを作成します。

  3. 2番目(ダミ)のmysqldサ,バ,をバックアップ上で起動して,バックアップ内の.ibdファ▪▪ルをクリ▪▪ンアップできるようにします。クリ,ンアップが終了するまで待機します。

  4. ダミのmysqldサ,バ,をシャットダウンします。

  5. バックアップからクリ,ンな.ibdファ@ @ルを取得します。