데이터 취업 스쿨 스터디 노트 -(30) 데이터베이스 백업 및 불러오기

테리·2024년 7월 24일
0

우선 vscode에서 실행할 때 가장 중요한 것이 powershell이 아니라 cmd에서 실행하는 것이다.
cmd에서 백업하지 않으면 파일이 인코딩 될때 utf-8로 인코딩 되지 않는 경우가 발생해 사용할 수 없는 경우가 많다.
crtl + shift + p -> select default shell을 검색해서 command로 설정 후 실행하면 된다.

sql 파일 생성 방법

sql 파일 실행 #1

하단에 -p zerobase 처럼 p옆에 한칸 띄워서 입력하면 비밀번호가 아니라 zerobase라는 데이터베이스로 이동하라는 뜻이다.

sql 파일 실행
source test01.sql
현재 경로에서 파일을 불러오므로 파일명만 작성하면 됨.

sql 파일 실행 #2

앞에서 mysql에 접속한 상태여서 연결을 먼저 종료 해줌.

Database Backup

데이터 백업 작업은 터미널에서 실행.

zerobase라는 데이터베이스에 있는 내용을 zerobase.sql 파일로 저장하는 것

백업한 데이터베이스 복구

복구는 파일을 불러오는 방식과 동일하다.
로컬에서 백업한 데이터베이스 파일을 aws rds에서 불러와 복원하려고 한다.

테이블 백업

테이블 백업은 데이터베이스 뒤에 테이블명까지 작성

테이블 생성 쿼리만 백업

실습

1. aws rds의 zerobase 데이터베이스 백업

mysqldump --set-gtid-purged=OFF -h "database-1.cvoe8q4isp2v.us-east-1.rds.amazonaws.com" -P 3306 -u admin -p zerobase > backup_zerobase.sql

2. aws rds에 admin 계정으로 로그인

3. 데이터베이스 zerodb 생성

create database zerodb default character set utf8mb4;

4. 앞서 생성한 사용자 (zero@%)에게 zerodb의 모든 권한 부여

grant all on zerodb.* to 'zero'@'%';

5. 앞서 백업한 zerobase 백업 파일을 zerodb에서 실행

aws rds 진입

mysql -h "database-1.cvoe8q4isp2v.us-east-1.rds.amazonaws.com" -P 3306 -u admin -p

위(원래)의 방식대로 하면 뒤에 테이블에 insert 할때 텍스트가 깨지는 경우가 있어서 --default-character-set=utf8mb4 을 추가

mysql --default-character-set=utf8mb4 -h "database-1.cvoe8q4isp2v.us-east-1.rds.amazonaws.com" -P 3306 -u admin -p
use zerodb
source backup_zerobase.sql

6. insert를 위한 sql 파일 생성

7. aws rds(database-1) zerobase의 police_station 테이블에 데이터를 insert

use zerobase
source insert.sql

8. aws rds(database-1) zerobase의 police_station 테이블을 sql 파일로 백업

mysqldump --set-gtid-purged=OFF -h "database-1.cvoe8q4isp2v.us-east-1.rds.amazonaws.com" -P 3306 -u admin -p zerobase police_station > backup_police.sql

9. aws rds(database-1) zerodb의 police_station 테이블을 zerobase와 동일하게 만든 뒤 확인

mysql -h "database-1.cvoe8q4isp2v.us-east-1.rds.amazonaws.com" -P 3306 -u admin -p 
use zerodb
source insert.sql

0개의 댓글