LoginSignup
1
0

More than 5 years have passed since last update.

mysqldumpでDBのデータを取得し、そのファイルを実行するまで

Posted at

やりたいこと/背景

PRDのデータを、STGに反映させたい。

解決策

terminal
#欲しいデータがあるDB(今回はPRD)にssh接続
$ ssh PRD_IP_address

#dumpファイルを取得(ファイル名は、dump時の日付で、home/に作成)
$ mysqldump -u {usr_name} -p{password} --single-transaction --default-character-set=utf8 --routines DB_name > ./`date +%Y%m%d_%H%M`- dump.sql

#dumpファイルを、scpでデータを挿入したいDB(今回はSTG)のhome/にコピーして送信
#idを求められる場合、以下のようにiオプションを使用して、秘密鍵を指定してあげます
$ scp -i ~/.ssh/id_rsa.pub user@PRD_IP:~/20180613_0101-dump.sql user@STG_IP:~/

#ここで一旦exitしてPRDから出ます
$ exit

#dumpデータを流し込みたいDB(今回はSTG)に移動
$ ssh STG_IP

#STGにて、データの反映実行
$ mysql -u{user_name} -p{password} DB_name < ./20180613_0101-dump.sql

最後に

dumpファイル生成時には、1レコードずつ取得し、取得するタイミングでDBにきたリクエストなどを遮断するらしい。DBがアクティブ状態の時にユーザーに迷惑をかける場合があるので、注意をした方がいいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0