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

推薦する

検索エンジンのウェブサイトの入り口の無料コレクション

1: Baiduウェブサイトログイン入口ウェブサイト: http://www.baidu.com/s...

HTML で複数のフォームのテキスト ボックスを揃える方法

フォームのコードは図の通りです。スタイルシートがまだ追加されていないため、フォームが整列されておらず...

HTMLのマーキータグは、シームレスなスクロールマーキー効果を実現します。

<marquee> タグはペアで表示されるタグです。最初のタグ <marquee...

MySQL データベース テーブルのパーティション分割に関する考慮事項 [推奨]

テーブル パーティショニングは、データベース パーティショニングとは異なります。では、テーブル パー...

Win10 での MySQL 8.0.15 のインストールと設定のグラフィック チュートリアル

この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...

Mybatis mysqlの削除操作では、最初のデータメソッドのみを削除できます。

バグ図のように、削除文とパラメータをデータベースにコピーして実行し、2つのデータを削除しようとしたの...

CSS3 シンプルカットカルーセル画像実装コード

実装のアイデアまず、親コンテナーを作成し、2 つの順序なしリストを使用して、柔軟なレイアウトで親コン...

Better-scrollはメニューとコンテンツをリンクする効果を実現します

1. 基本的な使い方 <!DOCTYPE html> <html lang=&qu...

ユーザーエクスペリエンスの要素またはWebデザインの要素

システムとユーザー環境の設計<br />Apple システムの成功は、そのシステム アー...

小さな画像をクリックしたときに更新せずに大きな画像コードが表示されるようにLightboxを実現するためにCSSを使用する

小さな画像をクリックしたときに更新せずに大きな画像コードが表示されるようにLightboxを実現する...

WeChatアプレット認証ログインを処理するエレガントな方法

序文WeChat ミニプログラム プロジェクトでユーザー情報を取得し、ユーザー ログインを実装する場...

Windows 7 環境での Docker 高速ビルドと Alibaba Cloud コンテナ高速化構成の詳細な説明

前回の Docker に関する記事では、MAC システムでの構築について説明しました。この記事では、...

Vue における v-model を使用したクロスコンポーネントバインディングの基本的な実装方法

みなさんこんにちは。今日はv-modelを使って親子コンポーネントのバインディング効果を実現する方法...

MySQLの共同クエリ最適化メカニズムの詳細な説明

目次MySQL フェデレーテッド クエリ実行戦略。実行計画フェデレーテッドクエリオプティマイザーMy...

Ubuntu ターミナル マルチウィンドウ 分割画面 ターミネーター

1. インストールターミネーターの最大の特徴は、1つのウィンドウで複数のターミナルを開くことができる...