テブル固有のテブルスペスを持テブル(.ibd
ファaapl . exeルに格納)は,MySQL Serverを停止させずに個別にリストアできます。間違ってテ,ブルデ,タを削除または更新した場合に,この手法を適用でき,删除表
、截断表
,または删除数据库
のステ,トメントを通じて,実際にはテ,ブル自体を失うことがありません。
.ibd
ファイルのクリーンなバックアップがある場合,次のようにして,クリーンなバックアップが作成されたMySQLインストール状態にリストアできます。
MySQL 5.5以前の場合,テーブルがすでに存在し,バックアップを取得して以降に破棄または切り捨てられていないことが必要です。InnoDBテーブルが切り捨てられるか削除されて再作成された場合,このテーブルは新しいテーブルIDを取得します。データベース内のテーブルとバックアップされたテーブルとの間でIDが一致しないと,このテーブルをリストアできないことがあります。テーブルIDが一致する必要があるのは,類似した一連のデータベースおよびテーブルを持つ別のサーバーではなく,バックアップデータが得られた同じMySQL服务器にリストアする必要がある理由でもあります。同じシリーズのMySQL服务器のある一般提供開始(GA)バージョンから別バージョンにリストアが行われるかぎり,この制限はMySQL 5.6以降には適用されません。
リストアされるテ,ブルに対する書き込み操作を防止します。これにより,リストアの進行中にユ,ザ,がテ,ブルを変更できなくなります。
锁表tbl_name写;
次の
ALTER TABLE
ステ,トメントを発行します。ALTER TABLEtbl_name丢弃表空间;
注意:これにより現在の
.ibd
ファ@ @ルは削除されます。バックアップ
.ibd
ファルをコピして,適切なデタベスディレクトリに戻します。次の
ALTER TABLE
ステ,トメントを発行します。ALTER TABLEtbl_name进口表空间;
書き込みロックを解除して,リストア手順を完了します。
打开表;
このコンテキストでは,クリ,ンな.ibd
ファ@ @ルバックアップとは次のことを意味します。
.ibd
ファesc escル内に,トランザクションによってコミットされていない変更がない。.ibd
ファル内に,マジされていない挿入バッファエントリがない。パ,ジにより,
.ibd
ファルからすべての削除マクされたンデックスレコドが削除されている。mysqldが,
.ibd
ファルのすべての変更されたペジをバッファプルからファルにフラッシュしている。
次の方法を利用して,このようなクリ,ンなバックアップ.ibd
ファ@ @ルを作成できます。
mysqldサ,バ,からのすべてのアクティビティ,を停止して,すべてのトランザクションをコミットします。
显示innodb状态
で,デ,タベ,ス内にアクティブなトランザクションがないことが表示され,InnoDB
のメ▪▪ンスレッドステ▪▪タスが等待服务器活动
になるまで待機します。続いて,.ibd
ファ▪▪ルのコピ▪▪を作成できます。
.ibd
ファmysqlbackupを使用するというものです。
——only-innodb
オプションまたは——only-innodb-with-frm
オプションを付けてmysqlbackupを使用して,InnoDB
ンスト,ルをバックアップします。mysqlbackup……运用原木
を実行して,バックアップデ,タベ,スの一貫したバ,ジョンを作成します。2番目(ダミ)のmysqldサ,バ,をバックアップ上で起動して,バックアップ内の
.ibd
ファ▪▪ルをクリ▪▪ンアップできるようにします。クリ,ンアップが終了するまで待機します。ダミのmysqldサ,バ,をシャットダウンします。
バックアップからクリ,ンな
.ibd
ファ@ @ルを取得します。