データ表領域を復元または転送するmysqlの

MySQLのバックアップツールは、多くの場合、我々は配信のために表スペースを使用しようとすることができ、バックアップツールとしてmysqldumpを、mysqlpump(5.7の新機能)を持っています

これは、次のとおりです。コピーデータファイルはInnoDBのcfgのファイルとファイルのIBDである表領域+コピーエンジンに対応します

このような要件の実装の仕方

(1 ;)別の表領域、オープンinnodb_file_per_tableをパラメータ必要 2 ;エクスポートテーブルを行うとき、テーブルのみ書き込みを許可読み取られる)を 3 )データのインポートおよびエクスポートデータ・ページ・サイズが同じであること;  4)のMySQL 5.7で0.4 以前のバージョンでは、パーティションテーブルのパーティションの移動度に行うことはできません。 5)外部キーテーブルの使用を、あなたは分布表は、外部キーテーブルをサポートしていませんが、それ以外の場合は、テーブルスペースのインポートおよびエクスポートをサポートしていない、外部キーを無視するように強制セットforeign_key_check = 0を使用する必要がありますスペースの輸出入。

 

次の例について説明します

tableコマンドの同じ時間の建設で、2つのMySQL、ソース+ターゲットを準備し、我々は、ソースMySQLの呼び出し対象のコールをのmysql

最初のテーブルを作成する(ID int型、名char(16))。

データソースはMySQLで挿入されています

(第1の値に挿入' NI ')、(2 ' めざし')、(3、' TA ')。

mysqlの上のターゲット表スペースでリリース

first.frmを残して、ファイルfirst.ibdを削除する#と同等、最初のテーブルを変更する表領域を破棄し
、テーブルの名前を変更するテーブルをドロップするが、IBDファイルを操作することはできません、例えば:DML例について、あなたはFRMファイルを操作することができます。この時点で
検証結果:
select * from first;
ERROR 1814 (HY000): Tablespace has been discarded for table 'first'

 

おすすめ

転載: www.cnblogs.com/mmyy-blog/p/11413955.html