mysqldumpで本番環境のDBをローカルにエクスポートする

環境

  • mac
  • mysql
  •  ターミナル

やりたいこと

Amazon RDSに作ったデータベースをローカル環境にダンプしてきて、

 

落としてきたsqlデータをローカル環境のmysqlにエクスポートします

 

ローカル環境は、普通にマックの中のローカルでもいいし、mampのなかのローカルでもいいです。

sqlのデータをダンプする

まず、普通にec2にssh接続をします

 

サーバーの上でmysqldumpコマンドを叩いてサーバーにmysqlのデータを落としてきて

 

そのファイルをローカルに持っていきます

 

sshでターミナルからサーバーに接続する方法は省きます

 

で、サーバーに入ったら、下記のコマンドを適切に叩きます。

 

-h にホスト名、-u、にユーザー名、-pの後にデータベース名、> の後に

 

データを落としてきたい場所のフルパス

$ mysqldump -h xxxxxxxx.csxxxxxxxx.us-east-1.rds.amazonaws.com -u admin -p xxxx_db> /home/ec2-user/dump_db.sql

 

上記のコマンドを叩くと、パスワードを求められますから入力してください

 

成功するとデータベースの中のデータがsqlファイルとなって落ちてきます

 

それを、ftpソフトかなんかでマックのローカルに落としてきてます。

sqlのデータをローカルのdbにエクスポートする

次、落としてきたsqlのデータをローカルのデータベースにエクスポートします

 

ここでは仮にローカルに立てたmamp環境のデータベースにデータをエクスポートすることにします

 

マックではmamp環境のデータベースに入るにはmamp環境下に移動した状態でdbに入らないと行けないから

 

下記のようにして、mamp環境に移動します。

cd /Applications/MAMP/Library/bin/


mamp環境に移動したら、mysqlコマンドを用いてデータをエクスポートします。

 

newdbというのはデータベースの名前です。あらかじめnewdbというデータベースを作ってある前提です。

 

これで、データのエクスポートが完了しました。

./mysql -u root -p newdb < /Users/xxxx/Desktop/dump_db.sql

参考

[urlpreviewbox url=”https://stackoverflow.com/questions/30217299/how-to-export-database-from-amazon-rds-mysql-instance-to-local-instance”/]

[urlpreviewbox url=”https://qiita.com/Taku94/items/969cffd94970f9448b55″/]

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事