mysqlはエクスポートされたデータのsqlファイルから指定されたテーブルのみをインポートすることを実装します

mysqlはエクスポートされたデータのsqlファイルから指定されたテーブルのみをインポートすることを実装します

シナリオ

昨日、システムは dbAll.sql.gz という名前の特定のデータベースのすべてのテーブル データを自動的にバックアップしました。ファイルが大きい(例:40G)

今日は、tableA のデータの一部に問題が見つかったので、2 つのレコードの変更を確認する必要があります。レコードを比較するには、tableA のデータを dbAll から取得する必要があります。

運用スキーム

1. 比較するデータベース(一時データベース)に dbAll.sql.gz をインポートし、tableA を比較します。データ量が多すぎて時間がかかるため、お勧めできません

2. dbAll.sql.gz を解凍した後、Java コードを使用して、dbAll.sql 内の tableA に関する CREATE ステートメントと INSERT ステートメントをファイル tableA.sql に読み込み、比較のために tableA.sql を一時データベースにインポートします。

3. 参照 (未試用): mysqldump はデータベース alldb.sql 全体をエクスポートします。インポート時に 1 つのテーブルだけをインポートできますか?

方法1:

perl extract_sql.pl -t mytable -r mydumpfile > mytable.sql

方法2:

cat test1db.sql | sed -n '/テーブル .test1. のテーブル構造/,/テーブル .test2. のテーブル構造/p'>/tmp/xxx.sql

方法3:

awk '/テーブル .test1. のテーブル構造/,/テーブル .test2. のテーブル構造/{print}' src_bake_db.sql.gz > targetdb.sql

方法3: src_bake_db.sql.gz圧縮ファイル内のtest1およびtest2テーブルのデータをtargetdb.sqlにエクスポートする

補足知識: mysqlコマンドラインは、データベース全体のすべてのテーブルの最初の100レコードをエクスポートします。

以下のように表示されます。

mysqldump -uysp -pYspxxx db_name --where="1=1 limit 100" >/mnt/share/paxxx.com/backup.sql

mysql クライアントにログインせずに、コマンド ラインで直接実行するだけです。

mysqldump -h サーバー名 -u アカウント名 -p データベース名 --where="true limit 100"> /tmp/supports_launch.sql

phpmyadmin エクスポート PHP スクリプト:

http://local.phpmyadmin.com/export.php

エクスポートされたデータのSQLファイルから指定されたテーブルのみをインポートする上記のMySQL実装は、エディターがあなたと共有するすべての内容です。参考になれば幸いです。また、123WORDPRESS.COMをサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • mysqldump を使用して MySQL データベースからデータをエクスポートする方法の詳細な説明
  • mysqldump を使用して指定したテーブルをバックアップおよび復元する方法
  • Mysql コマンドラインで SQL データをインポートする
  • mysqldump のバックアップとリストア、および mysqldump のインポートとエクスポートのステートメントの詳細な説明

<<:  Vueは小さなフォーム検証機能を実装します

>>:  Jenkins初心者のためのDockerデプロイメントチュートリアルの詳細な説明

推薦する

MySQLデータベースに画像を保存するいくつかの方法

通常、ユーザーがアップロードした写真はデータベースに保存する必要があります。一般的に、解決策は 2 ...

30分でReact Hooksを包括的に理解できます

目次概要1. 使用状態1.1 3つの概念に関する質問1.2 例1.3 注記2. リデューサーを使用す...

クールなネオンライト効果を実現する純粋な CSS (デモ付き)

私は最近、YouTube の CSS アニメーション効果チュートリアル シリーズをフォローしています...

Vue3の一般的なAPIの使用方法の紹介

目次ライフサイクルの変化反応的な参照vue2.x では ref を使用して要素タグを取得します。vu...

React Native スキャフォールディングの基本的な使い方の詳細な説明

プロジェクトを構築する対応するパスでコマンドラインを実行します: react-native init...

Dockerコンテナの入退出方法の詳細な説明

1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...

line-height=height要素の高さだがテキストが垂直方向に中央揃えされない問題を解決する

まず、行の高さが要素の高さと等しい場合にテキストが垂直方向に中央揃えにならない理由を説明します。実際...

Mysqlはマスタースレーブ構成とマルチマスターマルチスレーブ構成を実装します

現在シミュレーションしているのは、マスター スレーブ システム (ホスト 1 台とスレーブ 1 台)...

写真とテキストによる MySQL 8.0.11 インストール チュートリアル

インターネット上には多くのチュートリアルがありますが、基本的には同じです。ただし、細かい原因でソフト...

タオバオモールのホームページ上の大きな画像のデザイン構造に関する分析と意見(写真)

前回、Taobaoの詳細ページを分析した後(クリックして表示)、ショッピングモールの基本テンプレート...

MySQL は、元のデータと同じデータがある場合、更新ステートメントを再度実行しますか?

背景この記事では主に、MySQL が更新ステートメントを実行するときに、元のデータと同一の (つまり...

Dockerがプライベート倉庫Harborを構築する手順

港Harborは、エンタープライズレベルのプライベートDockerイメージリポジトリを構築するための...

1 つの記事で Nginx ロケーション マッチングの実装を理解する

チームはフロントエンドとバックエンドを分離しているため、フロントエンドが Nginx とノード層を引...

React 高階コンポーネント HOC 使用方法の概要

HOCを紹介する一文高階コンポーネント (HOC) とは何ですか? 公式ドキュメントによると、「高階...

ウェブページ経由で jar パッケージを Nexus にアップロードする方法

Maven を使用してプロジェクトを管理する場合、jar パッケージをプライベート ウェアハウスにア...