特定のテーブルを mysqldump する方法


次の様に、データベース名に続けてバックアップしたいテーブル名を指定して mysqldump を実行すれば良いです。

:bash:
$ mysqldump -u ユーザ名 -p -h ホスト名 データベース名 [テーブル名 ...] > ダンプファイル名

ダンプ対象の複数のテーブル名をあらかじめファイルに書いておき、それを使って指定することもできます。 次の例では tables.txt の各行にダンプ対象のテーブル名が書いてあるとします。

$ mysqldump -u ユーザ名 -p -h ホスト名 データベース名 `cat tables.txt` > ダンプファイル名

特定のプレフィックスを持つテーブルのダンプ

例えば wp_ というプレフィックスを持つテーブル (WordPress 用のテーブル) をダンプしたければ次の様にします。

:bash:
$ mysql -u ユーザ名 -p -h ホスト名 -N information_schema -e "SELECT table_name FROM tables WHERE table_schema='データベース名' AND table_name LIKE 'wp_%'" > tables.txt
$ mysqldump -u ユーザ名 -p -h ホスト名 データベース名 `cat tables.txt` > ダンプファイル名

ダンプしたファイルのインポート

逆にダンプしたファイルを読み込む場合には次の様にします。

:bash:
$ mysql -u ユーザ名 -p -h ホスト名 データベース名 < ダンプファイル名


参考 MySQLで特定のDBにある特定のprefixがついたテーブルのみをdumpしたい場合

カテゴリー: 記事 タグ: パーマリンク

1 Response to 特定のテーブルを mysqldump する方法

  1. ピンバック: 【MySQL】特定のプレフィックスを持つテーブルのダンプ | カタカタ

コメントを残す