MySQL - テーブル定義/データのみダンプ出力!
Updated:
MySQL のダンプ出力に関しては、以前以下のような内容を記事にしました。
今回は、ダンプ出力時にテーブル定義のみを出力したり、テーブルデータのみを出力したりする方法についての記録です。
0. 前提条件
- MySQL 5.5.31 での作業を想定。
(バージョンは特に問わない。また、MariaDB でも同じはず)
1. テーブル定義のみダンプ出力
テーブル定義のみを出力する、つまりテーブル行情報を出力しない場合は、 --no-data
または -d
オプションを指定する。
(テーブル名を指定しない場合はデータベース単位でダンプされる)
$ mysqldump -uroot -phogehoge -d DB名 [テーブル名]
2. データのみダンプ出力
テーブルデータ(insert 文
)のみを出力する、つまりテーブル定義を出力しない場合は、 --no-create-info
または -t
オプションを指定する。
(テーブル名を指定しない場合はデータベース単位でダンプされる)
$ mysqldump -uroot -phogehoge -t DB名 [テーブル名]
3. 参考サイト
4. その他
ストレージエンジンが MyISAM だけのデータベースの場合は、 mysqldump
より mysqlhotcopy
の方が良いようだ(高速のようだ)。
普段、ダンプ出力の際はテーブル定義とテーブルデータをまとめて出力していますが、データだけ(もしくはテーブル定義だけ)をエクスポート&インポートしたくなる局面があるため記録しておいた次第です。(ストレージエンジン移行時等)
以上。
Comments