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″/]