テーブルを個別のファイルに手動でダンプするのは、特に多数のテーブルを含む大規模なデータベースがある場合、面倒な作業になる可能性があります。このプロセスを自動化し、新しく追加されたテーブルのダンプの欠落を避けるために、いくつかのアプローチを検討できます。
テーブル ダンプの自動化
開始点となるのは、次のようなスクリプトです。既存のすべてのテーブルを反復処理し、それらを別のファイルにダンプします。この目的で 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 に接続できる一般的な言語は次のとおりです。
これらの言語では、ダンプ プロセスをより詳細に制御できるため、必要に応じて出力形式をカスタマイズしたり、エラーを処理したり、その他の操作を実行したりできます。
以上がMySQL テーブルを別のファイルにダンプするプロセスを自動化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。