반응형
개요
- 사용 툴 : MySQL Workbench 8.0.23
- 목표 : 하나의 데이터베이스의 모든 데이터를 백업하고 복원하기
데이터 백업하기 (Export)
- Navigator - Administrator - Data Export
- Tables to Export : 백업 할 데이터베이스와 테이블 선택
- 데이터베이스의 모든 데이터 혹은 특정 테이블만 백업 가능
- Object to Export : 백업 할 객체 선택
- 프로시저와 펑션, 이벤트, 트리거를 함께 백업
- Export Options : 백업 방식 선택
- Export to Dump Project Folder
- 테이블마다 각각의 파일을 생성
- 백업 소요시간은 느리나 각각의 테이블을 관리 가능
- Export to Self-Contained File
- 모든 데이터베이스의 데이터를 하나의 파일로 생성
- 백업 소요시간은 빠르나 개별적인 테이블의 관리는 불가
- Create Dump in a Sing Transaction
- innoDB에서만 사용 가능
- 일관된 상태로 데이터베이스 백업
- 즉, 해당 옵션으로 백업 중 데이터베이스에 변경이 있을 경우 해당 내용을 반영 하지 않음
- 데이터가 잘못된 값을 얻을 수 있음
- Include Create Schema
- 데이터베이스의 이름을 포함하여 백업
- 다른 데이터베이스(스키마) 이름을 사용 할 경우 체크 해제
- Export to Dump Project Folder
- Tables to Export : 백업 할 데이터베이스와 테이블 선택
- Start Export
- 백업 파일 생성 확인
데이터 복원하기 (Import / Restore)
데이터 복원 (Import/Restore)
- Navigator - Administrator - Data Export
- Import Options (복원 옵션 선택)
- Import from Dump Project Folder
- 여러 파일로 분리되었거나 백업 파일이 존재하는 폴더 선택
- 하나의 파일로 백업된 파일도 해당 경로를 지정해주면 목록에 출력
- Import from Self-Contained File
- 하나의 파일로 백업된 파일 선택
- Import from Dump Project Folder
- Select Database Objects to Import
- 복원 할 데이터베이스와 테이블을 선택
- Import Options (복원 옵션 선택)
- Start Import
데이터 복원 확인
- 데이터베이스의 값 변경
use testdb;
select * from testTable;
update testTable set questionId = '1111111' where id = '3';
# 해당 테이블의 값을 '1111111' 로 변경 (기존 '1')
- 데이터베이스 복원
- 데이터베이스 값 확인
- 백업 이전의 데이터인 '1'의 값으로 복원이 정상적으로 됨
select * from testTable;
Data Import Error
- 복원시 아래와 같은 에러 출력
- 검색해보니 DEFINDER를 지우라는데 내 파일에서는 해당 단어가 존재 않음
- 그래서 그냥 백업 파일(.sql)을 열고 에러가 표시된 줄을 삭제
ERROR 1227 (42000) at line 20: Access denied;
you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN
privilege(s) for this operation
ERROR 1227 (42000) at line 25:
Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN
privilege(s) for this operation
ERROR 1227 (42000) at line 79:
Access denied;
you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN
privilege(s) for this operation
- 해결
참고
- Mysql Reference
반응형