web-dev-qa-db-ja.com

.ibdファイルからMySQL InnoDBテーブルを再作成するにはどうすればよいですか?

次のMySQLファイルがバックアップテープから復元されたと想定します。

  • tablename.frm
  • tablename.ibd

さらに、MySQLインストールがinnodb_file_per_tableで実行されていて、データベースがmysqladmin shutdownで正常にシャットダウンされていると想定します。

復元されたMySQLファイルが取得されたのと同じバージョンのMySQLの新規インストールを前提として、どのようにデータをこの新しいインストールにfrom tablename.ibd/tablename.frmをインポートしますか?

20
knorv

同様のことがここで答えられます。見てください https://stackoverflow.com/a/10943833/3985205

はい、可能です。 .frmファイルをdatabseフォルダーにコピーするだけでは十分ではありませんが、ib_logfilesおよびibdataファイルをデータフォルダーにコピーする必要もあります。 .frmファイルをコピーしてそれらのファイルをコピーし、サーバーを再起動するだけでデータベースが復元されます。

3

あなたが負けたときに私は正しい解決策を投稿しましたib_logfilesおよびibdataファイルがあり、.frmおよび.idbファイル。

このリンクに関する私のコメントを見てください:

frmおよびibdファイルからテーブル構造を復元

これもうまくいきます。

ありがとうございました。

0
Jin Lin

テーブルをテーブルスペースに取り込む必要があります。

https://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/restoring_individual_tables_ibk.html

ALTER TABLE mydatabase.tablename IMPORT TABLESPACE;

必要なexp/cfgファイルもあります。

0