TIL - AWS | RDS

한성봉·2021년 7월 5일
0

AWS(Amazom Web Service)

RDS(Relational Database Service)

  • AWS의 database 서비스를 말한다.
  • RDS를 사용하면 사용자가 직접 서버를 생성해서 database 설치하고 설정하고 관리하지 않아도 된다.
  • 직접 운영보다 비용이 저렴하다.

RDS 생성

1. RDS 서비스 선택

2. MySQL 설정 파일

default 설정 파일이 있지만 utf-8 인코딩 설정을 해줘야 한국어 저장이 가능.
Parameters groups 페이지로 이동하자.

3. Create parameter group 옵션 선택

4. Parameter group 설정 파일을 생성.

  • Group name, Description은 자유롭게 정한다.
  • Paramter group family는 생성하는 데이터 베이스와 버전에 맞게 지정해야한다.

5. 생성한 파일 수정

  • chracter_set_client : utf8mb4 로 변경
  • chracter_set_connection : utf8mb4 로 변경
  • chracter_set_database : utf8mb4 로 변경
  • chracter_set_results : utf8mb4 로 변경
  • chracter_set_server : utf8mb4 로 변경
  • collation_connection : utf8mb4_general_ci 로 변경
  • collation_server : utf8mb4_unicode_ci 로 변경

파라미터 설정 후 Preview changes를 눌러서 수정사항 리뷰를 해보자. 아래와 같이 나오면 된다.

변경사항이 확인 되면 Save Changes 버튼을 클릭.

6. MySQL 데이터 베이스를 새로 생성하자.

7. MySQL을 엔진으로 선택.

  • Only enable iptions eligible for RDS Free Usage Tier option선택
    무료로 사용할 수 있는 사양이 자동으로 선택되도록 하자.

8. DATABASE 세부사항 설정

  • 대부분 defalut 값으로 나두면 된다.
  • 맨 아래 settings 섹션에서 master username과 비밀번호 그리고 데이터베이스 이름만 설정하면 된다.

9. 고급설정

  • Publc accessability 옵션을 yes로 설정
  • Database options 세션에 DB parameter group을 방금 생성한 파라미터 설정 파일로 변경
  • 나머지는 defalut값
  • 설정 완료 후 create database

10. Instance 페이지에 생선한 DB 대쉬보드 이동

11. Endpoint 확인

  • Endpoint 주소로 DB 접속 가능
  • Security groups링크 확인

12. Security group 설정 변경

  • Security group 설정 변경을 변경하여 어디서든 접속가능하게 하자.
  • 원래는 이렇게 모두 개방하면 안된다.(해킹 위험성)

RDS 접속

mysql -h <RDS Endpoint> -u root -p

Mysqldump

로컬 DB에 있는 데이터를 RDS로 옮겨보자.

1. 우선 RDS에 접속 후 데이터베이스 생성

  • RDS 접속
mysql -h <RDS Endpoint> -u root -p

RDS에 접속할 때는 RDS를 생성했을 때 입력했던 비밀번호를 사용한다.

  • DATABASE 생성
mysql> create database "NAME" character set utf8mb4 collate utf8mb4_general_ci;

2. Mysqldump 생성

  • dump 파일 생성
# mysqldump -u root -p 복사할 로컬 DB이름 > 복사할 로컬 DB이름.sql 
mysqldump -u root -p groundbnb > groundbnb.sql
  • RDS DB로 데이터 넣기
mysql -h <RDS Endpoint> -u root -p groundbnb < groundbnb.sql

이대로 실행한다면 문제없이 로컬 DB의 데이터가 RDS DB로 복사되는 것을 볼 수 있을 것이다. 간혹 mysql 문법오류가 있을 수 있으니 해결한뒤에 다시 시도해보자.!!

0개의 댓글