mysqldumpで特定のテーブルをバックアップ

MySQLはよく使っているのですが、すぐにコマンドを忘れてしまいます。

特定のテーブルのデータのみをダンプしたいときは下記。テーブルのスキーマは含めない。DBユーザをdbuser、DBをdbname、テーブル名をtable1, table2, table3としています。

$ mysqldump -u dbuser -p -t dbname table1 > table1.dump
$ mysqldump -u dbuser -p -t dbname table1 table2 table3 > table1-2-3.dump

テーブルを指定しなければ、全テーブルのデータのみをダンプすることになります。こちらもテーブルのスキーマは含まれません。

$ mysqldump -u dbuser -p -t dbname > table_data_all.dump

ある条件を満たすデータのみダンプすることもできます。table1にcol1という列があったとして、その値がOKのデータをダンプしたい場合は下記のようにします。

$ mysqldump -u dbuser -p -t "--where=col1='OK'" dbname table1 > table1_ok.dump

ちなみに、テーブルのスキーマをダンプしたい場合は下記。

$ mysqldump -u dbuser -p -d dbname > dbname_schema.dump
同じタグの記事: MySQL
同じカテゴリの記事: Linux