やりたいこと
特定のテーブルから条件指定してdumpファイルを出力したい
環境
Mysql 5.7.20
実行手順
コマンドプロンプトからmysqldump実行でファイル生成
mysqldump --skip-add-drop-table --no-tablespaces --hex-blob -uユーザー名 -p -h DBサーバIP DB名 テーブル名 --set-gtid-purged=OFF --default-character-set=utf8mb4 --where"抽出条件" > ファイル名.sql
※つけたオプション
- --skip-add-drop-table
テーブルを消さないためにdrop文を追加しない - --no-tablespaces
テーブルスペース情報を付与しない - --hex-blob
対象テーブルがバイナリデータを持っていたので16進数に変換して文字化け防止 - --set-gtid-purged=OFF
gtidが不要だったのでOFF - -u
ユーザー指定 - -p
パスワード指定 - -h
ホスト指定 - --where
負荷を下げるために条件指定 - --default-character-set
文字コード指定
終わりに
無事にdump成功。
(Workbenchでdumpファイルを生成しようと試みたが、where句で条件指定して生成する方法がよくわからなかったので時間の関係でコマンドで対処した。)