ホームページ  >  記事  >  データベース  >  mysqlでibdファイルからデータを復元する方法

mysqlでibdファイルからデータを復元する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-12-15 14:00:197392ブラウズ

Mysql で ibd ファイルからデータを復元する方法: まず、元のテーブル構造と同じテーブル構造を持つテーブルを作成し、次に新しく作成したテーブル スペースを削除し、[.ibd] ファイルを次の場所にコピーします。復元対象のデータベース フォルダーに移動し、ファイルのアクセス許可を変更し、最後にテーブル スペースをインポートします。

mysqlでibdファイルからデータを復元する方法

このチュートリアルの動作環境: Windows7 システム、mysql5.6&&mysql5.7 バージョン、Dell G3 コンピューター。

関連する無料学習の推奨事項: mysql データベース(ビデオ)

##mysql メソッドibd ファイルからデータを復元するには:

1. 元のテーブル構造と一貫性のある構造を持つテーブルを作成します:

CREATE TABLE <table_name> ...;

2. 新しく作成したテーブル スペースを削除します:

ALTER TABLE <table_name> DISCARD TABLESPACE;

3. リストアする

2d8f501bba7dbcabf64f6c8aceccc3b7.ibd ファイルをターゲット データベース フォルダーにコピーし、ファイルのアクセス許可を変更します:

cp <table_name>.ibd /var/lib/mysql/<database_name>
cd /var/lib/mysql/<database_name>
chown mysql:mysql <table_name>.ibd

4. テーブル スペースをインポートします。

ALTER TABLE <table_name> IMPORT TABLESPACE;

次の問題も発生する可能性があります:

1. Mysql 1808 エラー:

Error Code: 1808. Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, <table_name>.ibd file has ROW_TYPE_COMPACT row format.)

これは、mysql 5.6 ファイルを mysql 5.7 バージョンに復元することによって発生するエラーです。以下に示すように、table ステートメントの後に

ROW_FORMAT=COMPACT を追加します。

create table test(id int, name varchar(10)) row_format=compact;

2、mysql 1812 エラー:

Error Code:1812. Tablespace is missing for table <table_name>

copy ibd file is not authored, 2 番目のステップに従ってください ステップ実行許可

関連する無料学習の推奨事項:

php プログラミング(ビデオ)

以上がmysqlでibdファイルからデータを復元する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。