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を使用してカウンター機能を実装すると発生する問題

推薦する

docker 環境でのデータベース バックアップ (postgresql、mysql) のサンプル コード

目次posgresql バックアップ/リストアMySQL バックアップ/復元posgresql バッ...

シンプルな画像切り替えを実現するJavaScript

この記事では、JavaScriptで簡単な画像切り替えを実現するための具体的なコードを参考までに紹介...

HTMLは実際にはいくつかの重要なタグを学ぶアプリケーションです

「これは革命になるだろう」という記事が出たあと。業界の皆様に認知され、もちろん内外からの評価もいただ...

MySQLのint主キーの自己増分の問題を解決する

導入MySQL データベースを使用する場合、int を主キーとして使用し、自動インクリメントに設定す...

Windows での自動展開に Jenkins を使用するチュートリアル図

今日は、Jenkins + powershell スクリプトを使用して、.NET CORE スクリプ...

MySQLトランザクションが効率に与える影響の分析と概要

1. データベース トランザクションによりデータベースのパフォーマンスが低下します。データの一貫性と...

mysqlタイムスタンプの使用

序文:タイムスタンプ フィールドは、MySQL でよく使用されます。たとえば、データ行が作成または変...

base target="" はフレームを開くためのベースリンクのターゲットを指定します

<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...

Docker を使用した SQL Server の実行の実装

現在、.net Core はクロスプラットフォームであり、誰もが Linux と Docker を使...

HTML で入力テキスト入力キャッシュのクリアを禁止する 2 つの方法

ほとんどのブラウザはデフォルトで入力値をキャッシュし、ctl+F5 を使用して強制的に更新することに...

JavaScript を使用して userAgent を通じていくつかの一般的なブラウザを判別する方法

序文通常、h5 ページを作成するときは、WeChat、QQ、Weibo などのエコシステム内でトラフ...

PSを使用して2分でxhtml+cssウェブサイトのホームページを作成します

xhtml+css のウェブサイト再構築、ウェブ標準などについては、記事が多すぎるので繰り返しません...

カルーセルバナーの自動回転効果を実現する純粋な CSS

さっそくコードを見てみましょう * { マージン: 0; パディング: 0; } 。容器 { マージ...

WeChatアプレットのサイレントログインとカスタムログイン状態の維持の詳細な説明

目次1. 背景2. サイレントログインとは何ですか? 3. カスタムログイン状態を維持する方法4. ...

Linux でファイアウォールがオフになっているかどうかを確認する方法

1. サービス方法ファイアウォールのステータスを確認します。 [root@centos6 ~]# サ...