Local MySQL dump를 EC2로 import하는 방법

Local MySQL에서 dump 뜬 것을 EC2에 import 하기 위해서는 기본세팅이 몇 가지 필요하다.

 

기본세팅

1. EC2에 MySQL을 설치하지 않았다면, 이전편을 통해 설치하길 바란다.

https://ranna.tistory.com/9

 

AWS EC2에 MySQL 설치하기

공식 홈페이지를 참조해서 EC2 한개를 생성한다. 반드시 키페어를 저장해 놓자. https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/EC2_GetStarted.html 자습서: Amazon EC2 Linux 인스턴스 시작 - Amazon Elastic Compute

ranna.tistory.com

2. 파일 전송 프로그램(파일질라 등)이 깔려 있어야 한다.

https://parkjh7764.tistory.com/35

 

파일질라(FileZilla) 설치하기/ FTP 프로그램 추천/ FTP란 무엇인가?/ 파일질라 설치 방법

파일질라(FileZilla)를 다운로드 받기 전에, 파일질라가 무엇인지부터 알아보자. 파일질라(FileZilla)란? 파일 질라는 쉽게 말해 'FTP 프로그램'이다. 개인 컴퓨터와 웹 사이트(웹 서버)간에 파일 전송

parkjh7764.tistory.com

 

위의 과정이 끝났다면 본격적으로 한번 시작해보자.

파일질라 설정

1. 파일질라에서 편집 > 설정 > SFTP > 키 파일 추가 > 확인

- EC2를 생성할 때 만들고 다운로드 받았던 pem 키 파일을 추가한다.

2. 파일질라에서 파일 > 사이트 관리자 > 새 사이트 > 정보추가 > 연결

- 프로토콜은 SFTP로 클릭

- 호스트는 EC2에 있는 Public IPv4 DNS 주소를 복사해서 붙여 넣는다.

- 사용자는 ec2-user로 설정

예시)

3. 연결이 끝나면 dump 파일을 넣어준다.

EC2 설정

1. EC2 Connect 해서 들어온 terminal에서 다음과 같이 입력한다.

# 파일질라에서 전송한 sql dump가 잘 들어왔는지 확인
ls

# 생성해놓은 MySQL에 접속
mysql -u root -p'pass'

# sql dump를 넣을 데이터베이스 생성
create database example;

# 데이터베이스가 잘 생성되었는지 확인
show databases;

# 데이터베이스 나가기
exit;

 

2. sql dump를 example 데이터베이스에 복제

mysql -u root -p example < example.sql

# 잘 복제 되었는지 확인하기 위해 mysql 접속
mysql -u root -p'pass'

# 데이터베이스 확인
show databases;

# example 데이터베이스 사용
use example;

# table 확인으로 dump가 잘 들어왔음을 확인할 수 잇다. 
show tables;

 

 

3. 외부에서도 ec2에 생성한 DB에 접속하기 위해 권한 추가

# mysql 데이터베이스 사용
use mysql

# table 확인
show tables;

update user set Host='%' where User='root';

# root에 권한 추가
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pass';

# 변경된 권한 적용
FLUSH PRIVILEGES;

SELECT Host,User,authentication_string FROM mysql.user;
exit;

# 외부접속 허용
sudo vim /etc/my.cnf
#### ... 중략
bind-address=0.0.0.0

# MySQL 재시작
sudo systemctl restart mysqld