MySQL の完全なデータベース バックアップ データを使用して単一のテーブル データを復元する方法

MySQL の完全なデータベース バックアップ データを使用して単一のテーブル データを復元する方法

序文

データベースをバックアップするときは、データベース全体のバックアップを使用します。ただし、何らかの理由で、テーブルのデータをバックアップ データベースにロールバックする必要があります。データベース全体をロールバックすると、このテーブルは数十 MB しかないかもしれませんが、他のテーブルは数十 GB または数百 GB になる可能性があるため、時間がかかります。このとき、復元する必要があるテーブルを抽出する必要があります。

実際の業務でこのような状況に遭遇したことがあるでしょう。MySQL インスタンスには複数のデータベースが存在する場合があります。バックアップするときは、通常、完全バックアップを使用してすべてのデータベースを 1 つのファイルにバックアップします。

ただし、場合によっては、1 つのデータベースまたは 1 つのテーブルのみを復元する必要があることもあります。どうすれば解決できるでしょうか?

現在、複数のテーブルを含むバックアップ ライブラリ fdcsqlmysql-2018_11_30-03_00_01.sql があります。ここで、fdc_document テーブルのデータを復元する必要があります。

テーブル作成ステートメントの抽出

sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `テーブル名`/!d;q' mysqldump.sql (バックアップファイル名)

sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `fdc_document`/!d;q' fdcsqlmysql-2018_11_30-03_00_01.sql

`fdc_document` が存在する場合はテーブルを削除します。
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
テーブル `fdc_document` を作成します (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ドキュメントID',
 `uid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'ユーザーID',
 `name` char(40) NOT NULL DEFAULT '' COMMENT '識別子',
 ...
 ...
 ...
 `entrust_rule` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT 'ブローカーはユーザーとの委託契約に署名するかどうかをクリックします: はいの場合は 1、いいえの場合は 0',
 `audit` tinyint(3) NOT NULL DEFAULT '0' COMMENT '監査: 0 は監査されていないことを意味します。1 はイメージが監査されていることを意味します。2 は説明が監査されていることを意味します。3 はイメージと説明の両方が監査されていることを意味します',
 主キー (`id`)、
 キー `idx_area_house` (`partition`,`category_id`,`status`,`is_off`) BTREE を使用、
 キー `idx_model_house` (`model_id`,`status`,`is_off`) BTREE 使用、
 キー `idx_community_house` (`community_id`,`estate`,`status`,`is_off`) BTREE を使用、
 キー `idx_uid_house` (`uid`,`model_id`,`is_off`) BTREE 使用、
 キー `idx_pid_house` (`id`,`pid`,`status`,`is_off`) BTREE 使用、
 キー `is_video` (`is_video`) BTREE の使用
) ENGINE=InnoDB AUTO_INCREMENT=211138 デフォルト CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

テーブルデータを抽出する

grep 'INSERT INTO テーブル名' mysqldump.sql (バックアップファイル名) > table_data.sql

ここで、 grep 'INSERT INTOfdc_document' fdcsqlmysql-2018_11_30-03_00_01.sql > document.sqlを実行する必要があります。

実行後、必要な個別のテーブル ファイルである document.sql ファイルが生成され、テーブル データを正常に復元できます。

データベースとテーブルを作成する

まずデータベースを作成し、次に上記のSQL文に従ってテーブルfdc_documentを作成します。

テーブルデータをインポートする

MySQL [ドキュメント]> ソース /data/backup/mysql/document.sql

はい、完了です!

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQL で単一のデータベースまたはテーブルを復元する方法と、起こりうる落とし穴
  • 単一のMySQLテーブルを復元する手順
  • MySQL の完全なデータベース バックアップからデータベースとテーブルを復元する方法
  • MySQL の frm ファイルからテーブル構造を復元する 3 つの方法 [推奨]
  • InnoDB タイプの MySql によるテーブル構造とデータの復元
  • MySQL は、完全なデータベース バックアップから指定されたテーブルとライブラリを復元します。
  • MySQL シングルテーブル ibd ファイル回復方法の詳細な説明
  • MYSQLは.frmを使用してデータテーブル構造を復元します
  • mysqldump を使用して指定したテーブルをバックアップおよび復元する方法
  • MySQLはテーブルデータを復元するためにfrmファイルとibdファイルを使用します

<<:  Tomcat および Web アプリケーションの Docker デプロイメントの実装

>>:  react+reduxを使用してカウンター機能を実装すると発生する問題

推薦する

js 配列から重複を削除する 11 の方法

実際の業務や面接では、「配列の重複排除」の問題によく遭遇します。以下は、js を使用して実装された配...

JavaScript におけるイベント バブリング メカニズムの詳細な分析

バブリングとは何ですか? DOM イベント フローには、イベント キャプチャ ステージ、ターゲット ...

Linux で実行中のすべてのプロセスを表示する方法

ps コマンドを使用できます。プロセスの PID など、現在実行中のプロセスに関する関連情報を表示で...

Win7 インストール MySQL 5.6 チュートリアル図

目次1. ダウンロード2. インストール3. my.ini ファイルを設定する(デフォルトのエンコー...

Vue elementUI はツリー構造テーブルと遅延読み込みを実装します

目次1. 成果を達成する2. バックエンドの実装2.1 エンティティクラス2.2 データベース内のデ...

MySQL 5.6.37 (zip) ダウンロード インストール 構成 グラフィック チュートリアル

この記事では、MySQL 5.6.37のダウンロード、インストール、設定のチュートリアルを参考までに...

Linuxの運用と保守、基本的なプロセス管理、リアルタイム監視と制御

目次1. バックグラウンドで実行されるジョブ2. 信号を使用してプロセスを制御する基本的なプロセス管...

Vue Nativeを使用したモバイルアプリケーションの構築プロセスの完全な記録

目次序文Vue Nativeの機能宣言的レンダリング双方向バインディングVue.js エコシステムの...

ドメイン名を指定されたポートに転送するようにNginxを設定する方法

/usr/local/nginx/conf と入力する sudo cd /usr/local/ngi...

HTML相対パスの親ディレクトリと子ディレクトリの書き方

親ディレクトリを指定する方法../ はソース ファイルの親ディレクトリを表し、../../ はソース...

MySQLデータクエリが多すぎるとOOMが発生するかどうかについての簡単な議論

目次サーバー層でのフルテーブルスキャンの影響InnoDB におけるフルテーブルスキャンの影響Inno...

Linux 型バージョン メモリ ディスク クエリ コマンド紹介

1. まず、Linux システムのバージョン内容について概要を説明します。 1. カーネルバージョン...

CentOS 7 で MySQL 8 の複数のインスタンスを設定する詳細なチュートリアル (必要な数だけ設定できます)

原因最近、プロジェクトのリファクタリングを始めたのですが、マスタースレーブと読み取り書き込み分離を使...

Windows システム mysql5.7.18 インストール グラフィック チュートリアル

Windows システム向け MySQL インストール チュートリアルダウンロード1. https:...

MySQLデータベースの一般的な最適化操作のまとめ(経験共有)

序文データ中心のアプリケーションの場合、データベースの品質はプログラムのパフォーマンスに直接影響する...