ホームページ >データベース >mysql チュートリアル >事前にテーブル名を知らなくても、MySQL テーブルを別のファイルに自動的にダンプするにはどうすればよいですか?
MySQL テーブルの個別ファイルへのダンプの自動化
Mysqldump は、MySQL テーブルを個別のファイルにダンプする便利な方法を提供します。ただし、テーブル名を事前に知っておくことには制限があります。これに対処するために、各テーブルを自動的にダンプする別のアプローチがあります。
スクリプトベースのアプローチ:
script-fu を利用することで、データベースにクエリを実行して取得できます。すべてのテーブル名を入力し、ダンプを実行するスクリプトを作成します。 MySQL データベースにアクセスできるスクリプト言語をいくつか示します。
自己完結型 Bash スクリプト:
提供された Bash スクリプトはプロセスをさらに合理化し、追加のスクリプト作成の必要性を排除します。知識:
<code class="bash">#!/bin/bash # dump-tables-mysql.sh [ $# -lt 3 ] && echo "Usage: <DB_HOST> <DB_USER> <DB_NAME> [<DIR>]" && exit 1 DB_host= DB_user= DB= DIR= [ -n "$DIR" ] || DIR=. test -d $DIR || mkdir -p $DIR read -sp "DB password: " DB_pass echo echo "Dumping tables into separate SQL command files for database '$DB' into dir=$DIR" tbl_count=0 for t in $(mysql -NBA -h $DB_host -u $DB_user -p$DB_pass -D $DB -e 'show tables') do echo "DUMPING TABLE: $DB.$t" mysqldump -h $DB_host -u $DB_user -p$DB_pass $DB $t | gzip > $DIR/$DB.$t.sql.gz tbl_count=$(( tbl_count + 1 )) done echo "$tbl_count tables dumped from database '$DB' into dir=$DIR"</code>
このスクリプトは、データベース パスワードの入力を求め、各テーブルのデータを個別の圧縮 SQL ファイルにダンプし、指定されたディレクトリに保存します。テーブル名の取得からダンプ ファイルの作成まで、必要なすべての手順を処理します。
以上が事前にテーブル名を知らなくても、MySQL テーブルを別のファイルに自動的にダンプするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。