백업(Backup)과 복원(Restore)
데이터베이스 관리 측면에서 가장 중요한 주제 중 한가지다.
백업은 현재의 데이터베이스를 다른 매체에 보관하는 작업을 말하며, 복원은 데이터베이스에 문제가 발생했을 때 다른 매체에 백업된 데이터를 이용해서 원상태로 돌려놓는 작업을 말한다.
단적으로 DBA(Database Administrator: 데이터베이스 관리자)가 해야 할 가장 중요한 일을 한가지만 뽑으면 백업과 복원을 들 수 있다.
백업과 복원
:: 쇼핑몰 데이터베이스를 백업받은 후, 실수로 데이터를 모두 삭제했을 경우 원 상태로 복원시키기
Workbench왼쪽에 Administration탭을 클릭 후, Data Export를 클릭하면 쿼리창에 Data Export창이 열린다.
shopdb데이터를 체크하고, 아래 Objects to Export부분에 스토어드 프로시저, 스토어드 함수, 트리거 등 전부 백업을 해준다.
맨 아래 finished라는 문구가 나오면 정상작동한 것이다.
그럼 내가 설정해둔 위치에 이렇게 파일이 생성된다.
이제는 백업파일을 테스트해 보기 위해서 productTBL을 삭제해본다.
DELETE FROM productTBL;
데이터를 삭제했기 때문에 아무리 SELECT로 열어봐도 내용이 나오질 않는다.
현재 사용중인 DB를 바로 복원하게 되면 문제가 생길수 있으므로, 우선 다른 DB로 변경한다.
USE sys;
다른 DB를 선택해도 상관없다.
Administration --> Import from Self-Contained File(내가 저장한 파일선택) --> Default Target Schema : shopdb --> Start Import
이제 데이터가 정상복구 되었는지 확인한다.
USE shopDB;
SELECT * FROM productTBL;
shopDB로 DB를 다시 옮겨서 셀렉트로 검색을 해본다.
아까 지우기 전 상태로 돌아온다.
:: 실무에서는 이렇게 계속 저장해주는 방식이 아닌 실시간으로 변경되는 백업 기능을 탑재한 툴을 사용한다. ( 'MySQL Enterprise Backup', 추가사용 권장 툴 : 'MySQL Enterprise Monitor' 서버 상태를 GUI모드에서 한눈으로 파악할 수 있는 기능을 제공해준다. )
'MySQL | NoSQL > MySQL | NoSQL 시작하기' 카테고리의 다른 글
[ MySQL ] 모델 다이어그램 - 2 (0) | 2022.04.25 |
---|---|
[ MySQL ] 데이터베이스 모델링, 모델 다이어그램 - 1 (0) | 2022.04.22 |
[ MySQL ] MySQLWorkbench 응용 프로그램이 예기치 않게 종료되었습니다 (0) | 2022.04.15 |
[ MySQL ] MySQL ReadOnly (0) | 2022.04.13 |
[ MySQL ] 트리거(Trigger) 만들기 (0) | 2022.04.08 |