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 の設定方法

推薦する

Windows 10 での mysql-8.0.17-winx64 のインストール方法

1.公式サイトからダウンロードして解凍する参考: ダウンロード後、zip 圧縮ファイル (mysql...

JavaScript キャンバス テキスト クロック

この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...

Vue で SVG アイコンを導入する 2 つの方法

Vue で SVG アイコンを導入する方法Vue で svg アイコンを導入する方法 1インストール...

Vueはechartを使用してラベルと色をカスタマイズします

この記事では、参考までに、echartを使用してタグと色をカスタマイズするVueの具体的なコードを紹...

1 つの記事で React における Redux の初期の使用を理解する

Redux はデータ状態管理プラグインです。React や Vue を使用してコンポーネント化された...

Docker クリーニングの一般的な方法と問題点

大規模な開発に Docker を使用する場合でも、クリーンアップ戦略がなければ、ディスクがすぐにいっ...

Linux でユーザーをグループに追加する 4 つの方法の概要

序文Linux グループは、Linux でユーザー アカウントを管理するために使用される組織単位です...

Node.js で MySQL データベースにバッチデータを挿入する方法

プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベ...

ネイティブjsは9マスグリッドのドラッグアンドドロップを実現します

ネイティブJSを使用して9つの正方形のグリッドを記述し、9つのグリッドの位置をドラッグして変更する効...

VMware Workstationはデバイス/資格情報ガードと互換性がありません

仮想マシンをインストールするときに、「VMware ワークステーションはデバイス/資格情報ガードと互...

Linux に Python クローラー スクリプトを展開し、スケジュールされたタスクを設定する方法

昨年、プロジェクトの必要性により、Python でクローラーを作成しました。クロールされたデータは、...

Ubuntu 20.04 と NVIDIA ドライバーのインストールに関するチュートリアル

Ubuntu 20.04をインストールする NVIDIAドライバーをインストールする Pytouch...

Vue の computed と watch の違いを分析する

目次1. 計算入門1.1、getとsetの使い方1.2. 計算された属性キャッシュ2. 時計の紹介3...

Linux ファイルを分割するための split コマンドの詳細な説明

いくつかの簡単な Linux コマンドを使用すると、ストレージまたは電子メールの添付ファイルのサイズ...

JavaScript ES6 分割演算子の理解と応用

目次序文脱構築記号の役割使い方分割割り当ての適用アプリケーションの簡単な紹介JSONデータを抽出する...