LoginSignup
1
1

More than 3 years have passed since last update.

EC2からMySQL(RDS)接続後にローカルMySQLにデータを入力する方法

Posted at

はじめに

フローは大体思い浮かんだのですが、個々のコマンドを調べながら実行していくのに時間がかかってしまいました。
今後も使うだろうと思ったので、こちらにまとめておこうかなと思います。

目次

  • EC2からMySQL(RDS)に接続する方法
  • MySQL(RDS)からEC2にバックアップをとる方法
  • EC2からローカルにバックアップデータを転送する方法
  • バックアップデータをローカルMySQLに復元する方法

EC2からMySQL(RDS)に接続する方法

# EC2へssh接続(ローカル上で実行)
$ ssh -i "******.pem" ec2-user@***ip_address***

# EC2 上から本番環境の MySQL へ接続(EC2上で実行)
$ mysql -h *******endpoint********.ap-northeast-1.rds.amazonaws.com -P 3306 -u ***db_username*** -p

# パスワード入力
> *********

# MySQL から抜ける(接続できることを確認できればok)(本番環境のMySQL上で実行)
> exit

MySQL(RDS)からEC2にバックアップをとる方法

# MySQL からデータをバックアップ (EC2上/tmp/mysqldump_all_database.dumpにバックアップをとる)
$ mysqldump --single-transaction -h *******endpoint********.ap-northeast-1.rds.amazonaws.com -P 3306 -u ***db_username*** -p ***password*** > /tmp/mysqldump_all_database.dump

EC2からローカルにバックアップデータを転送する方法

# EC2から抜ける
$ exit

# EC2 -> ローカル へファイル転送(ローカル上で実行)
$ scp -i /Users/***username***/.ssh/*******.pem -r ec2-user@***ip_address***:/tmp/mysqldump_all_database.dump /Users/***username***/Downloads

バックアップデータをローカルMySQLに復元する方法

# 開発環境の MySQL へ接続(ローカル上で実行)
$ mysql -h db -u root -p

# MySQL に復元するファイルの容量を一時的に大きくする(開発環境のMySQL上で実行)
$ set global max_allowed_packet = 200000000;

# 開発環境の MySQL に復元(ローカル上で実行)
$ mysql -h db -u root -ppassword -D ***development_db_name*** < /Users/***username***/Downloads/mysqldump_all_database.dump

まとめ

意外とつまづくことなく、シンプルに実行できました。

1
1
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
1