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

参考


GUTE-URLS

Wordpress is loading infos from stackoverflow

Please wait for API server guteurls.de to collect data from
stackoverflow.com/questions/3021...