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'