MySQL

開発環境のDBデータを本番環境にコピーする

たまに開発環境で作ったマスターデータをwhereで絞って本番環境にコピーしたいときがある。
いつもmysqldumpコマンドを忘れるのでメモ。

  • whereで絞ったデータをmysqldump
/* mysqldump [user名] [パスワード] [ホスト] [データベース名] [テーブル名] [where句] > [ファイル名] */
/* -t オプションをつけて drop table と create table をつけない */

mysqldump -uhoge -pfuga -h 012.345.678.9 hogehoge_db -t hoge_tb --where 'id > 100 and id < 301' > dump.sql
  • scpでローカルに落とす
scp hogehoge-develop:/path/to/dump.sql ./
  • 本番サーバにアップ
scp ./dump.sql hogehoge-production:/path/to/
  • インポート
/* mysqldump [user名] [パスワード] [ホスト] [データベース名] < [ファイル名] */
mysql -uhoge -pfuga -h 012.345.678.9 hogehoge_db < dump.sql

参考にしました。
mysqldumpオプションまとめ。whereで条件を指定したりする