InnoDB タイプの MySql によるテーブル構造とデータの復元

InnoDB タイプの MySql によるテーブル構造とデータの復元

前提条件: データベースを復元するために必要な .frm ファイルと .ibd ファイルを保存します。

条件: InnoDB タイプ

テーブル構造を回復する

1. 新しいデータベースを作成する - 復元するデータベースと同じテーブル名と列数を持つ新しいテーブルを作成します。
2. mysqlサーバサービスmysql stopを停止します。
3. /usr/local/mysql/my.cnfにinnodb_force_recovery = 6を追加します。
4. 復元するテーブルの.frm形式ファイルを、/usr/local/mysql/data/データベースの.frm形式ファイルで上書きします。
5. mysqlサーバーサービスを起動します。mysql start
6. データベースサービス service mysql stop を停止し、my.cnf の innodb_force_recovery = 6 をコメントアウトします。
7. mysqlサーバーサービスを起動します。mysql start

データの回復

1. まずテーブル構造を復元する
2. alter table `user` discard tablespace を実行します。実行後、データベース ディレクトリ内の user.ibd ファイルは消えます。
3. バックアップしたibdを消えたuser.ibdファイルに保存します。
4. このファイルに権限を追加します: chown -R mysql:mysql data 所有者はmysqlです
5. alter table `user` import tablespace; を実行します。実行後、テーブル データは読み取れますが、テーブル行数などのシステム テーブルの一部の情報は失われます。

注意: 外部キー制約に遭遇した場合は、ステートメントの前に SET FOREIGN_KEY_CHECKS = 0 を追加してください。完了後に 1 に変更することを忘れないでください。

以下もご興味があるかもしれません:
  • MySQL の 2 つのテーブル ストレージ構造 MyISAM と InnoDB のパフォーマンス比較テスト
  • MySQL InnoDBエンジンのインデックスとストレージ構造の詳細な説明
  • MySQL Innodb ストレージ構造と Null 値の保存の詳細な説明
  • MySQLのInnoDBストレージエンジンのデータページ構造の詳細な説明
  • MySQL InnoDB メモリ構造の詳細

<<:  JS ES6 非同期ソリューション

>>:  擬似静的およびクライアント適応型 Nginx の設定方法

推薦する

jquery-multiselect を使用した IE6 のバグの解決方法

jquery-multiselect (ドロップダウン ボックスをチェックボックス付きの複数選択コン...

JavaScript で配列遅延評価ライブラリを実装する方法

目次概要達成方法具体的な実装評価関数の終了を決定する生成関数の範囲変換関数マップフィルター割り込み機...

Vue-Routerのインストールと使用方法の詳細な説明

目次インストールルーティングの基本構成Vue にルーターをインストールするルーターの設定Router...

Vue3 プロジェクトで WeChat 認証ログインをエレガントに実装する方法

目次序文準備する実装のアイデアコードについて要約する序文WeChat 認証ログインは、WeChat ...

k8s に ingress-nginx をデプロイする手順

目次序文1. Ingressの展開と構成2. httpsを使用する序文k8sクラスタサービスがデプロ...

Vue2で配列の変更を検出できない理由と解決策

目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...

Dockerコンテナのインポ​​ートとエクスポートに関するチュートリアル

背景Docker の人気は、コンテナの共有と移植が容易であることと密接に関係しています。ユーザーは、...

MySQL 結合バッファの原理

目次1. MySQL 結合バッファ2. JoinBufferCacheストレージスペースの割り当て3...

画像を読み込むための JavaScript キャンバス

この記事では、画像を読み込むためのJavaScriptキャンバスの具体的なコードを参考までに紹介しま...

MySQLのインデックスシステムがB+ツリーを使用する理由の分析

目次1. インデックスとは何ですか? 2. インデックスはなぜ必要なのでしょうか? 3. インデック...

Dockerでイメージ情報を表示する方法

この記事では、Dockerでイメージ情報を表示する方法を学ぶ必要があります。 1. imagesコマ...

MySQLカバーインデックスの詳しい説明

コンセプトインデックスにクエリ要件を満たすすべてのデータが含まれている場合、それはカバーリング イン...

JavaScript の構成と継承の説明

目次1. はじめに2. プロトタイプチェーン継承3. コンストラクタの継承4. 組み合わせ継承1. ...

MySQL テーブルスペースとは何ですか?

今日皆さんにお伝えしたいトピックは、「皆さんがよく話題にするテーブル スペースとは一体何でしょうか。...

MySQL 8.0 をインストールした後、初めてログインするときにパスワードを変更する問題を解決する

MySQL 8.0.16で初回ログイン時のパスワードを変更する方法を紹介します。 MySQLデータベ...