MySQL テーブルを別のファイルにダンプするプロセスを自動化するにはどうすればよいですか?

DDD
リリース: 2024-10-29 05:03:29
オリジナル
645 人が閲覧しました

How can I automate the process of dumping MySQL tables into separate files?

MySQL テーブルの個別ファイルへのダンプの自動化

テーブルを個別のファイルに手動でダンプするのは、特に多数のテーブルを含む大規模なデータベースがある場合、面倒な作業になる可能性があります。このプロセスを自動化し、新しく追加されたテーブルのダンプの欠落を避けるために、いくつかのアプローチを検討できます。

テーブル ダンプの自動化

開始点となるのは、次のようなスクリプトです。既存のすべてのテーブルを反復処理し、それらを別のファイルにダンプします。この目的で mysqldump コマンドを使用するスクリプトの例を次に示します。

<code class="bash">#!/bin/bash

# dump-tables-mysql.sh
# Descr: Dump MySQL table data into separate SQL files for a specified database.

[ $# -lt 3 ] && echo "Usage: $(basename ) <DB_HOST> <DB_USER> <DB_NAME> [<DIR>]" && exit 1

DB_host=
DB_user=
DB=
DIR=

[ -n "$DIR" ] || DIR=.
test -d $DIR || mkdir -p $DIR

echo -n "DB password: "
read -s DB_pass
echo
echo "Dumping tables into separate SQL command files for database '$DB' into dir=$DIR"

for t in $(mysql -NBA -h $DB_host -u $DB_user -p$DB_pass -D $DB -e 'show tables')
do
    echo -n "DUMPING TABLE: $DB.$t... "
    mysqldump -h $DB_host -u $DB_user -p$DB_pass $DB $t | gzip > $DIR/$DB.$t.sql.gz
    echo "done."
done

echo "Tables dumped from database '$DB' into dir=$DIR"</code>
ログイン後にコピー

このスクリプトでは、データベース パスワードの入力を求められ、指定されたデータベース内のすべてのテーブルを反復処理して、圧縮された .sql.gz にダンプされます。指定されたディレクトリ (--DIR) 内のファイル。

その他のダンプ オプション

mysqldump コマンドだけではニーズに十分柔軟でない場合は、他のスクリプトを使用できます。 MySQL にアクセスし、ダンプ プロセスを自動化するための言語。 MySQL に接続できる一般的な言語は次のとおりです。

  • Python (mysql ライブラリを使用)
  • Ruby (mysql2 gem を使用)
  • PHP (mysqli を使用)拡張子)

これらの言語では、ダンプ プロセスをより詳細に制御できるため、必要に応じて出力形式をカスタマイズしたり、エラーを処理したり、その他の操作を実行したりできます。

以上がMySQL テーブルを別のファイルにダンプするプロセスを自動化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!