반응형

백업(Backup)과 복원(Restore)

데이터베이스 관리 측면에서 가장 중요한 주제 중 한가지다.

백업은 현재의 데이터베이스를 다른 매체에 보관하는 작업을 말하며, 복원은 데이터베이스에 문제가 발생했을 때 다른 매체에 백업된 데이터를 이용해서 원상태로 돌려놓는 작업을 말한다.

단적으로 DBA(Database Administrator: 데이터베이스 관리자)가 해야 할 가장 중요한 일을 한가지만 뽑으면 백업과 복원을 들 수 있다.

 

백업과 복원

:: 쇼핑몰 데이터베이스를 백업받은 후, 실수로 데이터를 모두 삭제했을 경우 원 상태로 복원시키기

 

백업

 

Workbench왼쪽에 Administration탭을 클릭 후, Data Export를 클릭하면 쿼리창에 Data Export창이 열린다.

shopdb데이터를 체크하고, 아래 Objects to Export부분에 스토어드 프로시저, 스토어드 함수, 트리거 등 전부 백업을 해준다.

 

Finish

 

맨 아래 finished라는 문구가 나오면 정상작동한 것이다.

 

파일 생성

 

그럼 내가 설정해둔 위치에 이렇게 파일이 생성된다.

 

이제는 백업파일을 테스트해 보기 위해서 productTBL을 삭제해본다.

DELETE FROM productTBL;

데이터를 삭제했기 때문에 아무리 SELECT로 열어봐도 내용이 나오질 않는다.

 

현재 사용중인 DB를 바로 복원하게 되면 문제가 생길수 있으므로, 우선 다른 DB로 변경한다.

USE sys;

다른 DB를 선택해도 상관없다.

 

Start Import

Administration --> Import from Self-Contained File(내가 저장한 파일선택) --> Default Target Schema : shopdb --> Start Import

 

Finish

 

이제 데이터가 정상복구 되었는지 확인한다.

USE shopDB;

SELECT * FROM productTBL;

shopDB로 DB를 다시 옮겨서 셀렉트로 검색을 해본다.

 

복구완료

 

아까 지우기 전 상태로 돌아온다.

:: 실무에서는 이렇게 계속 저장해주는 방식이 아닌 실시간으로 변경되는 백업 기능을 탑재한 툴을 사용한다. ( 'MySQL Enterprise Backup', 추가사용 권장 툴 : 'MySQL Enterprise Monitor' 서버 상태를 GUI모드에서 한눈으로 파악할 수 있는 기능을 제공해준다. )

반응형

+ Recent posts