MySQL 의 특정 스키마(Schema) 데이터를 다른 스키마로 옮겨야 할 경우가 있다. 이때는 Export 와 Import 작업이 필요한데 MySQL Workbench 도구를 사용하여 쉽게 옮기는 것이 가능하다.
데이터베이스 환경
- DBMS : 8.0.20 (MySQL Community Server - GPL)
- OS : CentOS Linux release 7.7.1908
작업환경
- TOOL : MySQL Workbench 8.0
- PC : MacBook Pro (16-inch, 2019) , macOS Monterey v12.6
작업을 위하여 MySQL Workbench 도구의 Data Import , Data Export 기능을 사용하였다. 참고로 Schema Transfer Wizard.. , Migration Wizard 를 사용해보았지만 오류가 발생하였다.
데이터 익스포트
① Data Export 실행
익스포트를 수행할 Schema 계정으로 로그인하고 Server > Data Export 메뉴를 선택한다. 또는 Administration 탭에서 Data Export 를 선택한다.
② Data Export 옵션 설정
Data Export 옵션은 크게 ⑴ ⑵ Tables to Export , ⑶ Objects to Export, ⑷ Export Options 4가지로 구분된다.
⑴ 익스포트를 수행할 소스에 해당하는 스키마를 선택한다.⑵ 스키마에서 익스포트할 테이블들을 선택한다. (디폴트로 전체가 선택됨)⑶ 테이블 이외에 익스포트할 Dump Stored Procedures and Functions, Dump Events, Dump Triggers 객체들을 선택한다. -> 익스포트되는 sql 파일을 확인하면 계정 정보가 함수 생성 문에 포함된 것을 확인할 수 있다. 이런 이유에서 임포트를 하더라도 정상적으로 동작하지 않는다. 직접 sql 에서 계정정보를 수정하거나 미리 함수 생성을 위한 스크립트를 가지고 임포트할 대상 스키마에서 직접 생성해야 한다.⑷ 단일 파일로 익스포트 될수 있도록 Export To Self-Contained File, Create Dump in Single Transaction 항목을 채크한다. (다른 스키마 이름으로 임포트할 계획이기 때문에 Include Create Schema 는 채크하지 않는다.)
③ Start Export
Start Export 버튼을 클릭하여 익스포트를 시작한다. 익스포트가 완료되면 지정한 위치에 덤프 파일이 존재함을 확인할 수 있다.
데이터 임포트
① 데이터를 임포트할 대상 스키마를 생성한다.
② Data Import 실행
임포트를 수행할 Schema 계정으로 로그인하고 Server > Data Import 메뉴를 선택한다. 또는 Administration 탭에서 Data Import 를 선택한다.
③ Data Import 옵션 설정
Data Import 옵션은 크게 ( ⑴ Import Options, ⑵ Default Schema to be Imported To 2가지로 구분된다.
⑴ 임포트할 파일을 선택한다. 익스포트시 단일 덤프 파일로 생성하였기 때문에 Import from Self-Contained File 을 선택하고 경로를 지정한다.⑵ 임포트 대상 스키마를 선택한다.
마지막으로 Start Import 버튼을 클릭하여 임포트를 시작한다. 임포트가 완료되면 미리 준비한 함수 생성 스크립트를 생성하여 작업을 마무리한다.
댓글 없음:
댓글 쓰기