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

推薦する

MySQL で not in を使用して null 値を含める問題を解決する

知らせ! ! ! uid が (a,b,c,null) に含まれないユーザーから * を選択します。...

HTMLの基本構造を包括的に理解する

HTML入門ハイパーテキスト マークアップ言語: ハイパーテキスト マークアップ言語ハイパーテキスト...

MySQL DDL による同期遅延を解決する方法

目次序文解決ツールの紹介仕組み使用制限使用上の注意使用例いくつかのパラメータの説明出力例Tencen...

Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定に関するチュートリアル

1. データベースの文字セットを確認するデータベースの文字セットは、Linux で設定された環境変数...

JavaScript の navigator.userAgent がブラウザ情報を取得するケースの説明

ブラウザはおそらく私たちにとって最も馴染みのあるツールです。 Firefox、Opera、Safar...

Linux系でよく使われる運用・保守コマンド(まとめ)

目次1. システム監視2. ファイル操作3. ネットワーク通信4. システム管理仕事で必要なLinu...

Dockerイメージをプルしてバージョンを確認する方法

イメージのバージョンとタグを確認するには、docker hubで確認する必要があります。アドレスは次...

10秒以内にMySQLデータベースに数百万件のレコードを挿入する実装

まず、次の質問について考えてみましょう。このような膨大な量のデータをデータベースに挿入するには、通常...

MySQL デュアルマシン ホットスタンバイ実装ソリューション [テスト可能]

目次1. コンセプト2. 環境の説明3. マスタースレーブホットスタンバイ実装1. コンセプト1. ...

浮遊する雲のアニメーションを実現するCSS3

操作効果 html <ヘッド> <メタ文字セット='UTF-8'&...

count(1)、count(*)、count(列名)の実行の違いの詳細な説明

実施効果: 1. count(1) と count(*)テーブル内のデータ量が多い場合、テーブルを分...

JavaScriptはスライダーを介してWebページの色を変更することを実装します

みなさんこんにちは、今日はウェブフロントエンドのHTMLを見ていたら、inputタグのtype属性が...

ウェブ開発におけるクロスドメインの理由に対する複数のソリューション

目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...

Linux で完全な Samba サーバーを構築する方法 (CentOS バージョン)

序文smb は、クライアントとサーバー間の Web 接続および情報通信に使用できるプロトコルの名前で...

MySQL のスロークエリの方法と例

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...