2022년 10월 13일

사용기 - MySQL Workbench 를 이용한 스키마 전체 익스포트 & 임포트

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 버튼을 클릭하여 임포트를 시작한다. 임포트가 완료되면 미리 준비한 함수 생성 스크립트를 생성하여 작업을 마무리한다.

댓글 없음:

댓글 쓰기