[SQL] Database Backup

김주하·2024년 3월 9일

zerobase라는 데이터베이스 내용을 zerobase.sql파일로 저장하겠다.

mysqldump -u root -p zerobase > zerobase.sql

mysql데이터베이스 서버에 연결, -h:연결하고자하는 mysql 서버의 호스트명, -P:포트번호, -u:데이터베이스에 접속할 때 사용할 사용자 이름 -p:비밀번호 입력하라는 프롬프트 띄움

 mysql -h ~~~~~ -P 3306 -u admin -p
Enter password: 

MySQL 커맨드라인 인터페이스(CLI)에서 SQL 파일을 실행하여 그 안에 있는 SQL문들을 MySQL 데이터베이스에 적용 ( 로컬에 있던 파일을 현재 접속한 데이터베이스에 백업 )

source zerobase.sql

zerobase라는 데이터베이스에 있는 celeb이라는 테이블을 celeb.sql파일로 저장하겠다.

mysqldump -u root -p zerobase celeb > celeb.sql
Enter password: 

zerobase라는 데이터베이스의 snl_show라는 테이블의 스키마(구조)를 snl.sql로 저장하겠다.

mysqldump -d -u root -p zerobase snl_show > snl.sql

-> -d : 데이터는 덤프하지 않고, 스키마만 덤프

AWS RDS의 zerobase데이터베이스를 로컬에 backup_zerobase.sql로 백업

mysqldump --set-gtid-purged=OFF -h ~~~~~ -P 3306 -u admin -p zerobase > backup_zerobase.sql
Enter password: 

AWS RDS의 zerobase데이터베이스의 police_station테이블을 로컬에 backup_police.sql로 백업

mysqldump --set-gtid-purged=OFF -h ~~~~~ -P 3306 -u admin -p zerobase police_station> backup_police.sql
Enter password: 

문제

AWS RDS에 admin 계정으로 로그인

 mysql -h ~~~~~ -P 3306 -u admin -p
Enter password: 

database zerodb 생성(DEFAULT CHARACTER SET utf8mb4)

CREATE DATABASE zerodb DEFAULT CHARACTER SET utf8mb;

zero@% 사용자에게 zerodb의 모든 권한 부여

GRANT ALL ON zerodb.* to 'zero'@'%';

zero@% 사용자에게 어떤 권한이 있는지 확인

show grants for 'zero'@'%'

zerobase 백업 파일을 zerobd에서 실행

use zerodb
source backup_zerobase.sql

insert.sql(데이터를 insert 하는 쿼리 파일)를 실행하여 AWS RDS zerobase의 police_station 테이블에 데이터 insert

use zerobase
sorce insert.sql

0개의 댓글