SQL 심화(1)_AWS RDS, Backup & Restore

Jio.B·2023년 7월 13일
0

  • AWS RDS (Amazon Relational Database Service)
    : AWS에서 제공하는 관계형 데이터베이스 서비스

MySQL RDS 접속

1) 터미널 실행 ---> !! 주의 !! <포트> 앞에는 대문자 -P

!! 참고 !! 윈도우는 명령프롬프트(cmd)에서 실행
이 경우 "내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다."라는 문구가 뜰 수 있음. 링크 참고해서 적용 티스토리

  • SQL File 생성을 위한 환경설정
    SQL File : SQL 쿼리를 모아놓은 파일
  1. 실습용 workplace 만들기

  2. sql_ws 폴더 하위에서 다음을 실행
    ( ~ code . = 현재 폴더를 VScode로 열어라)

  3. VScode의 sql_ws 폴더에서 새 파일(빨간 네모박스)을 선택

  4. 생성할 파일 이름을 정하고, 파일 확장자를 sql로 입력하면 비어있는 SQL파일 생성됨


SQL File 실행

  • 터미널에서 다음 파일경로까지 이동
cd Documents
cd sql_ws
code .
  • SQL 파일을 실행하는 두 가지 방법

실행방법 1) SQL 파일 실행 -- 로그인 이후 : source filename.sql
실행방법 2) SQL 파일 실행 -- 외부에서 바로 실행 : database < filename.sql
(mysql을 통하지 않고 외부에서 바로 sql 파일로 접속하는 방법)

(실행방법 1 예제)
경찰서 정보를 테이블로 만들기

sql_ws 폴더로 위치 이동하여 zerobase 접속

SQL File 실행

결과 확인하기

(실행방법 2 예제)

  • 예제2 실행 전에_예제1 실행 시 켜놓은 mysql부터 종료하기
  • 서울특별시 관서별 5대 범죄현황 정보로 테이블 만들기
    test02.sql 폴더 만들기
  • (in터미널) 데이터베이스인 zerobase 안에 만든 파일 test02에 바로 접속
mysql -u root -p zerobase < test02.sql

zerobase Database에 접속하면서 SQL File 실행

  • 파일 접속한 후에 sql root 계정 다시 접속
mysql -u root -p패스워드
  • 데이터베이스 선택 : use zerobase;
  • 파일 정보 불러오기 : desc crime_status;

Database Backup & Restore

  • SQL로 database를 백업할 수 있음

- AWS RDS의 데이터를 백업할 때


  • 데이터베이스를 백업한 SQL file을 실행하여 그 시점으로 복구하거나 이전할 수 있음
  • 방법은 SQL File 실행방법과 동일함
  • BACKUP : 실수로인한 데이터 소실에 대비하여 작업물 원본을 따로 복사하여 저장

(in 터미널) 코드 입력 전에 위치 확인 필수! --> sql_ws

  • RESTORE : Local 작업물(mysql) ---> Remote(AWS RDS)로 이관(저장)
  1. 터미널로 AWS 접속
  2. 백업한 데이터베이스 작업물 aws로 전송

table backup & restore

  • 테이블 단위로도 백업 가능함
  • 특정 table backup (예시 : celeb table만 백업)
  • backup
  1. 명령어 입력

  2. vs code로 바로 확인 가능

  • RESTORE
    (로그인 시 기존에 만들어둔 zerobase 데이터베이스로 바로 접속하도록 입력)
  1. 명령어 입력

  2. 백업해둔 celeb table을 다시 AWS RDS 데이터에 옮겨주기 위하여
    기존에 있던 celeb table 삭제함(drop)

  3. 복원 완료
    기존에 작성한 내용 모두 완벽하게 복원된 것을 확인


table schema backup & restore

  • 데이터를 제외하고 테이블 생성 쿼리만 백업할 수 있음
  • 쿼리에서 ' -d '는 '데이터를 제외하고'를 의미함
  • 특정 테이블의 스키마 백업
  1. 명령어 입력

  2. vs code로 백업 결과 확인


실습 예제

  • 예제1 : AWS RDS(database-1)의 zerobase 데이터베이스를 백업하기
  • 예제2 : AWS RDS(database-1) admin 계정으로 로그인하기
  • 예제3 : 미리 생성했던 사용자('zero'@'%')에게 zerodb의 모든 권한 부여하기
  • 예제4 : 미리 백업해둔 zerobase 백업 파일을 zerodb에서 실행하기(restore)
  • 예제5 : police_station 테이블에 다음 데이터를 INSERT 하기 위한 SQL파일 생성하기
    (1) police_station에 insert시킬 데이터를 작성할 sql 파일부터 생성
    (2) 입력
  • 예제6 : SQL파일 실행하여 AWS RDS(database-1)의 zerobase의 police_station 테이블에 데이터를 INSERT 하고 확인하기
  • 예제7 : AWS RDS(database-1) zerobase의 police_station 테이블을 SQL파일로 백업하기
    1) 작업했던 mysql에서 exit
    2) AWS에 백업
    3) vs code로 확인
  • 예제8 : AWS RDS(database-1) zerodb의 police_station 테이블을 zerobase와 동일하게 만들고 확인하기

0개의 댓글