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デプロイメントチュートリアルの詳細な説明

推薦する

Linux 構成で MySQL データベースへのリモート接続が失敗する問題の解決方法

今日は、Linux でリモート アクセス用に MySQL データベースを構成する方法について質問があ...

JDBC-idea で mysql をインポートして java jar パッケージに接続する (mac)

序文1. この記事ではMySQL 8.0バージョンを使用していますバージョン5.0と比較すると、パッ...

HTML で #include ファイルを使用する例

a.htmとb.htmの2つのファイルがあります。同じディレクトリ内のa.htmの内容は次のとおりで...

vue の v-bind を理解する

目次1. v-bindの主要ソースコードの分析1. v-bind属性はどこに均一に保存されるか: a...

Sublime / vscode による HTML コード生成の迅速な実装

目次基本的なHTML構造div とクラス名のショートカット キーを生成するクラス名を持つdiv ID...

簡単な計算機を実装する小さなプログラム

この記事の例では、簡単な計算機を実装するための小さなプログラムの具体的なコードを参考までに共有してい...

デザインのヒント: きっと気に入っていただけると思います

<br />このタイトルを見ると、見覚えがあるかもしれません。多くのウェブサイトが同様の...

Vue はウェブページの言語切り替えの国際化を実装します

1. 基本的な手順1: yarn add vue-i18nをインストールするこのパスに新しい .js...

MySQL ALTERコマンドの知識ポイントのまとめ

テーブル名を変更したり、テーブル フィールドを変更したりする必要がある場合は、 MySQL ALTE...

JDKネイティブスレッドプールのバグを修正するTomcatの実装原理

処理能力と同時実行性を向上させるために、Web コンテナは通常、リクエストを処理するタスクをスレッド...

mysql 簡単な操作例を表示

この記事では、例を挙げて mysql show 操作について説明します。ご参考までに、詳細は以下の通...

MySql ビュー トリガー ストアド プロシージャの詳細な説明

ビュー:一時テーブルを繰り返し使用する場合、将来の使用を容易にするために別名を付けることができます。...

HTML検証 HTML検証

HTML 検証はHTML 検証を指します。これは、HTML ドキュメントを分析し、標準の HTML ...

CentOS での Django プロジェクトのデプロイに関する詳細なチュートリアル

基本環境パゴダ設置サービスパゴダにインストールされた[Pythonプロジェクトマネージャー]パゴダに...

Linux コマンドラインターミナルで画面を分割するための 2 つのツール

ターミナル分割画面ツールは2つあります: screen と tmux 1. 画面分割を使用する(上下...