SQL FILE, BACKUP

JYJ·2022년 2월 23일
0

SQL / MySQL

목록 보기
11/25

SQL FILE

  • sql 쿼리를 모아놓은 파일
  1. 먼저 작업하고자 하는 디렉토리를 생성한 뒤 이동하자.

  1. 해당 디렉토리에서 vscode를 실행하자.

  1. 해당 디렉토리에서 새 파일을 만들고 확장자를 sql로 입력하면 sql파일을 생성할 수 있다.

  1. sql파일에 쿼리문을 작성한다.

  1. sql파일을 실행한다.


✔ 1) 작업 디렉토리로 이동 해당 데이터베이스에 접속

% cd sql_ws
sql_ws % mysql -u root -p zerobase

✔ 2) sql 파일을 실행

source test01.sql
-> source 대신에 \. 사용가능
-> 현재 폴더에 파일이 있으면 path 생략가능

✔ 3) 결과확인

mysql> DESC police_station;

🎁 mysql에 접속하지 않고 외부에서 바로 실행하는 법

% mysql -u username -p databasename < path/filename.sql


✔ test Database에 접속하면서 abc라는 sql 파일 실행

mysql -u root -p test < abc.sql

BACKUP

  • sql 파일 형태로 백업 파일을 만드는 것이 가능하다.

  • 백업한 sql 파일을 실행하여 그 시점으로 복구하거나 이전 할 수 있다.

  • local에서 백업한 파일을 remote에서 복구 시킬 수 있다.(반대로도 가능)


DATABASE BACKUP(Local)

  • sql 파일로 Database를 백업할 수 있다.

  • 특정 Database만 백업하는 법
    % mysqldump -u username -p dbname > backup.sql

  • 모든 Database 백업하는 법
    % mysqldump -u username -p --all-databases > backup.sql


✔ tmp 데이터베이스를 abc라는 파일명으로 백업

% mysqldump -u root -p tmp > abc.sql

✔ tmp 데이터베이스를 복원

% mysql source abc.sql

DATABASE BACKUP(AWS RDS)

  • AWS RDS database를 백업할 경우 다음과 같은 옵션을 추가해야 한다.

% mysqldump --set-gtid-purged=OFF -h hostname -P port -u username -p databasename > filename.sql


TABLE BACKUP

  • table 단위로도 백업을 할 수 있다.
    sql_ws % mysqldump -u username -p dbname tablename > backup.sql

  • 백업파일을 복구시키는 방법은 sql 파일을 실행시키는 것과 동일하다.
    sql_ws % mysqldump -u username -p dbname < backup.sql


✔ local database에서 tmp 데이터베이스에 있는 celeb 테이블을 백업

sql_ws % mysqldump -u root -p tmp celeb > backup.sql

✔ AWS RDS(database-1)의 zerobase에 접속한 후 celeb 테이블을 복구

% mysql source backup.sql

TABLE SCHEMA BACKUP

  • 데이터를 제외하고 테이블 생성 쿼리만 백업할 수 있다.

  • 특정 table schema만 백업
    % mysqldump -d -u username -p dbname tablename > backup.sql

  • 모든 table schema만 백업
    % mysqldump -d -u username -p dbname > backup.sql


profile
Study note

0개의 댓글