概要
先日MySQLのdumpをとって、別環境に反映しといて!
といわれて、初めてdumpをとって反映という作業をしたので手順等をφ(..)メモメモ
やりたいこと
環境AのhogeDBのdumpを取得し、環境Bに反映する。
手順
dumpをとる!
今回はtablePlusのGUI操作でdumpを取得したが、コマンドでもできる。
## データベースのダンプをまるっと取得する
$ mysqldump -u USER_NAME -p -h HOST_NAME DB_NAME > OUTPUT_FILE_NAME
他にもテーブルのみのダンプや、定義のみなど、色々オプションはあるので使うときに調べましょう。
圧縮する!
zip -r hoge.zip hoge.dump
zipコマンドもオプションが色々ある。
例えば、-eでパスワード付き
環境Aから環境Bにdumpファイルを転送する!
scpコマンドをつかいます。
###
scp [コピー元のパス] [コピー先のパス]
# パスの書き方は
# ユーザ名@サーバのホスト名(or IPアドレス):コピーしたいファイル、もしくは保存先のパス
環境Bでdumpを解凍する!
unzip hoge.zip
dumpを環境Bに反映する!
nohup mysql [反映先のDB名] < hoge.dump &
- nohupコマンドについて
- 簡単にいうとコマンドのバックグラウンド実行。
- 実行中に画面を閉じたり、ログアウトするとコマンドが終了してしまうが、それを防ぐことができる
- 参考: https://www.atmarkit.co.jp/ait/articles/1708/24/news022.html
まとめ
基本的なことだが、今までやる機会がなかったので良い経験になった。
nohupコマンドとかは知っていると知らないのじゃ、作業効率に差が出ると思うので、積極的に使いたい。