mysqldumpのオプションとか圧縮/転送の方法までまとめました

まずは普通にdumpをとる。
これは指定したデータベース丸ごとdumpをとる

mysqldump -u ユーザ名 -p データベース名 > xxx.sql

全てのデータベースをdumpする場合は

mysqldump -u ユーザ名 -p -A > xxx.sql

テーブルを指定してdumpする場合は

mysqldump -u ユーザ名 -p データベース名 テーブル名 > xxx.sql

複数テーブルでもOK

mysqldump -u ユーザ名 -p データベース名 テーブル名 テーブル名 > xxx.sql

レコードのみdumpする場合はtオプションを指定

mysqldump -u ユーザ名 -p -t データベース名 テーブル名 > xxx.sql

逆にテーブル定義のみdumpする場合はdオプションを指定

mysqldump -u ユーザ名 -p -d データベース名 テーブル名 > xxx.sql

where句を指定して条件を満たすレコードのみ抽出する場合
(この例はidが10より小さいレコードが対象)

mysqldump -u ユーザ名 -p "-wid<10" データベース名 テーブル名 > xxx.sql

取得したdumpをgzipで圧縮する

mysqldump -u ユーザ名 -p データベース名 テーブル名 | gzip > xxx.sql.gz

さらに別サーバに転送する

mysqldump -u ユーザ名 -p データベース名 テーブル名 | gzip | ssh xxx@xxx.com 'cat > ~/xxx.sql.gz'

特に最後のやつは大量データを処理する時は便利。