DB구현-백업과 복원

조정우·2022년 5월 8일
0

DB구현

목록 보기
15/16
post-thumbnail

2022.05.08
국비지원교육 DB구현 인터넷강의 15강

백업

백업의 이해

1.백업의 필요성
-데이터베이스는 업무와 관련된 중요한 데이터를 중앙집중식으로 저장
-DBMS의 실행에 문제가 발생할 경우 조직에서 사용하는 전체 서비스가 중단되는 대형 피해가 발생
-DBMS의 실행 중 발생할 수 있는 문제 : 운영체제 오류, 전원 차단, 파일 시스템 오류, 하드웨어 오동작
-하드웨어 및 소프트웨어의 오류 이외에 사용자의 실수, 보안 공격 등의 문제가 발생할 수 있음
-사고 발생 이전 시점으로 데이터를 복원 하기 위한 복제된 데이터를 마련
-사용자의 실수, 보안 공격으로 발생할 수 있는 문제 : 데이터 훼손, 데이터 변조, 데이터 손실
2.백업의 정의
백업 : 데이터와 트랜잭션에 수행되는 작업에 대한 모든 내용을 주기적으로 저장해두는 작업, 백업 방법 및 백업 주기 등의 백업 정책을 결정하고 백업 데이터를 별도의 저장장치에 관리하는 작업
3.백업의 방법

백업의 종류

1.방식별 구분
-물리적 백업 : DBMS가 사용하는 데이터 원본 파일을 직접 복사하여 백업하는 방식
-논리적 백업 : 원본 데이터베이스와 동등한 데이터베이스를 구축하기 위한 DML을 추출하는 방식
2.상태별 구분
-온라인 백업/hot 백업 : DBMS가 운용되고 있는 상태에서 데이터 백업을 진행하는 방식
-오프라인 백업/cold 백업 : DBMS를 정지시킨 상태에서 데이터 백업을 진행하는 방식
3.대상별 구분
-전체 백업 : 데이터베이스에 존재하는 모든 데이터를 백업하는 방식
-증분 백업 : 전체 백업 이후 주어진 시간 동안 이루어진 변경된 데이터만을 백업하는 방식
4.장소별 구분
-로컬 백업 : 백업을 수행하는 컴퓨터에 설치되어 있는 DMBS를 백업하는 방식
-원격 백업 : 백업을 수행하는 컴퓨터가 아닌 원격으로 연결된 DBMS를 백업하는 방식

MySQL에서의 백업

1.디렉토리 전체를 복사하는 방법
-MySQL의 원본 데이터 파일이 저장된 디렉토리 전체를 복사하는 방법
-물리적 백업 방식
-데이터 파일(.FRM, .MYD, *.MYI) 파일을 복사하여 백업을 수행
-논리적 백업보다 빠르고 백업 양이 적음
-로그나 설정 등의 정보를 담고 있는 파일 또한 동시에 백업
-물리적 백업 데이터를 사용하여 새로운 데이터베이스 시스템을 구축 시 동일하거나 유사한 하드웨어 구성요소를 요구
2.백업 유틸리티 mysqldump를 사용하는 방법
-데이터베이스 내부에 포함된 동일한 데이터베이스를 구성하기 위한 INSERT 문으로 구성되는 논리적 백업방식
-생성되는 백업 데이터가 MySQL 서버가 설치된 호스트에 남는 로컬 백업 방식, 원격 백업 방식으로 사용 불가능
-백업 데이터를 활용한 새로운 데이터베이스 구축 시, 호스트의 하드웨어 구성이 요구되지 않음
-스키마, 테이블, 컬럼 등 세밀한 단위로 데이터 백업이 가능
-MySQL 서버가 가동되고 있는 상황에서도 백업이 가능
-mysqldump 사용방법

3.MySQL Workbench를 이용한 백업
-mysqldump 유틸리티의 GUI화 된 버전으로 논리적 백업을 수행
-[server] -> [Data export] 메뉴를 통해 실행
-논리적 백업 방식으로 테이블 생성 스크립트(CREATE TABLE 문)과 데이터 삽입 스크립트(INSERT INTO문)를 생성

복원

복원의 이해

1.복원의 필요성
-사용자의 실수, 클라이언트 애플리케이션의 오류 등으로 잘못된 데이터를 원상태로 복원 시키는 기능이 요구
-악의적인 사용자나 보안 공격으로부터 훼손, 변조, 삭제된 데이터를 복원 시키는 기능이 필요
2.복원의 정의
데이터베이스 : 특정 시점의 데이터를 저장하고 있는 백업 데이터와 백업이후의 사용자의 작업을 통한 데이터 수정 과정을 기록한 이진로그를 사용, 두 정보원인 백업 데이터와 로그를 이용하여 특정 시점의 데이터베이스 상태로 복귀시키는 작업
3.복원의 방법
-물리적 백업데이터 복원
-논리적 백업데이터 복원
-mysal workbench 복원

MySQL에서의 복원

1.물리적 백업 데이터를 이용한 복원
-물리적으로 복제된 데이터 파일(.FRM, .MYD, *.MYI) 파일을 databir 변수에서 명시한 디렉토리에 위치시키는 과정
-물리적으로 백업한 데이터베이스의 하드웨어적 구성요소와 유사한 경우에만 복원 가능
2.논리적 백업 데이터를 이용한 복원
-논리적 백업 데이터를 사용하여 1차 복원, 이진 로그를 사용하여 2차 복원을 수행하는 과정
-복원 시점에 따라 2차 복원은 생략 가능
-mysql와 mysqlbinlog 클라이언트 유틸리티를 사용
-mysql 사용 방법
cli 구문형식 : mysql -u 사용자명 -p 데이터베이스명 < 파일명
-mysqlbinlog 사용 방법
cli 구문형식 : mysqlbinlog --database=데이터베이스명 --start-datetime ="날짜 및 시간"| mysql
3.MySQL Workbench를 이용한 복원
-mysql 클라이언트 유틸리티의 GUI화 된 버전으로 논리적 백업 데이터를 사용하여 복원
-[server] -> [Data Import] 메뉴를 통해 실행

profile
코딩관광

0개의 댓글