[AWS] RDS 데이터베이스 생성 및 DBeaver 연결, table 복사(MAC)

eunoia73·2024년 6월 4일

AWS

목록 보기
4/9

1. 데이터베이스 생성하기

RDS > DB인스턴스 > 데이터베이스 생성

1-1. 엔진옵션

  • 엔진 버전은 원칙적으로 최신버전 -1 버전을 선택한다.

1-2. 템플릿

1-3. 설정

  • DB 인스턴스 식별자는 원하는 이름으로
  • ⭐️ 마스터 사용자 이름, 마스터 암호 잊어버리면 DB 다시 생성해야한다

1-4. 인스턴스 구성, 스토리지

1-5. 연결

  • Ec2 컴퓨팅 리소스에 연결 : ec2 거쳐서 DB에 접속하는 것으로, 보안이 더 세다고 볼 수 있다.
  • EC2를 거쳐서 DB에 접근하기 때문에 포트는 따로 건드리지 않았지만,
    EC2를 거치지 않는 경우에는 일반적으로 알려져있는 '3306' 포트를 쓰지 않고 변경하는 경우도 많다.

1-6. 데이터베이스 인증

1-7. 추가구성

유지관리

  • 마이너 버전 자동 업그레이드 사용 체크 해제
  • 삭제 방지 활성화 체크

2. 접속 여부 확인하기

2-1. 로컬 터미널에서 명령어 입력

  • 리눅스는 .pem 파일을 사용하려면 권한을 바꿔줘야 한다.

    cd [pem key가 있는 폴더] (pem key가 있는 폴더로 이동한다)
    chmod 600 [~.pem] (chmod는 파일 모드를 변경하는 명령어)

⭐️⭐️⭐️ RDS에 연결 할 때마다 로컬 터미널에 입력하는 명령어.. ⭐️⭐️⭐️

ssh -i [AWS에서 받은 pem key 위치] -L [내 로컬 포트]:[RDS엔드포인트]:[RDS 포트] [EC2사용자]@[EC2엔드포인트] -fNt

telnet localhost 33306 (연결 여부를 알 수 있다)

3. DBeaver database 생성하기

  • Port에 내 로컬 포트 지정한다.
  • RDS 생성 시 지정했던 마스터 사용자 이름, 마스터 암호를 입력한다.

4. Local MySQL을 RDS MySQL로 복사하기

window는 dbeaver 로 dump → restore 하면 가능하지만.. mac은 불가능..

4-1. 로컬 터미널에서 docker를 이용하여 dump 파일을 다운받는다.

docker ps (ps는 현재 실행중인 프로세스, 상태 출력하는 명령어)
docker exec -it mysql-lecture bash (docker의 ~bash에 접속)
mysqldump -u [유저명] -p [DB명] > [파일명].sql
([파일명].sql 파일로 저장됨)
exit (나가기)
docker cp mysql-lecture:/forum.sql ./
(docker의 forum.sql 파일을 내 로컬로 복사하기)

4-2. dbeaver에서 ~.sql 파일 불러와 전체 실행

  • 'forum' database에 복사할 거라서 'Set as default' 해준다.
  • 상단에 Data Source를 'RDS'로 선택한다.
  • RDS Script에 파일 전체실행하면 table이 생성된다!

0개의 댓글