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

推薦する

jsネイティブ構文プロトタイプ、__proto__、コンストラクタの徹底的な理解

目次1 はじめに2 前提条件2.1 データ型2.2 それが自身のプロパティであるかどうかを判断する ...

@media レスポンシブ CSS を使用してさまざまな画面に適応する例

定義と使用@media クエリを使用すると、さまざまなメディア タイプに異なるスタイルを定義できます...

DockerコンテナがSongtiなどのフォントを認識しない場合の解決策

問題の背景: docker を使用してプロジェクトをデプロイする場合、プロジェクト内で印刷コントロー...

PrometheusとGrafanaを使用したMySQLサーバーのパフォーマンス監視の詳細な説明

概要Prometheus は、HTTP プロトコルを介してリモート マシンからデータを収集し、ローカ...

LinuxでのMySQLのインストール手順

1. mysql tar ファイルをダウンロードします。参考: 2. インストールパッケージがあるデ...

JavaScriptページングコンポーネントの使い方の詳細な説明

ページネーションコンポーネントはWeb開発でよく使われるコンポーネントです。ページネーション機能を実...

Firefox の CSS を使用してデータを盗む

0x00 はじめに数か月前、Firefox に脆弱性 (CVE-2019-17016) があること...

読み込み進捗バーのネイティブ JS 実装

この記事では、ネイティブ JS によって実装された動的読み込みプログレス バーの特殊効果を紹介します...

ウェブページのカラーマッチングにおけるオーバーラップとソフトカラーマッチングの手法を詳しく説明

この記事には、細かい点は一切なく、カラーマッチングのテクニックをシェアするだけです。とてもシンプルで...

Linuxでユーザーが所属するグループを変更する方法

Linuxでユーザーが所属するグループを変更する1. ユーザーのグループを設定する usermod ...

Linux での MySQL のインストールに関する詳細なチュートリアル

1. MySQLサービスをシャットダウンする# service mysqld stop 2. rpm...

Docker コンテナを他のサーバーに移行する 5 つの方法

多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレー...

MySQL InnoDBエンジンのインデックスとストレージ構造の詳細な説明

序文Oracle や SQL Server などのデータベースには、ストレージ エンジンが 1 つだ...

Nginx の負荷分散方法の概要

負荷分散を理解するには、まずフォワード プロキシとリバース プロキシを理解する必要があります。注記:...

VMware Esxi のルート パスワードを忘れた後に正常に取得する方法

CentOS6 インストール ディスク (任意のバージョン) を準備するか、別の pnux インスト...