ホームページ > データベース > mysql チュートリアル > mysqlでibdファイルからデータを復元する方法

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

coldplay.xixi
リリース: 2023-01-04 09:37:28
オリジナル
7625 人が閲覧しました

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. リストアする

.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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート