MySQL Workbench 를 활용한 방법을 설명합니다.
환경
- SQLServer : Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
- MySQL : 8.0.32
- MySQL Workbench : 윈도우 10에 설치
ODBC 설정
1. SQLServer에 접속할 수 있는 ODBC 설정
MySQL Workbench 가 설치되어 있는 윈도우 환경에서 SQLServer에 접속하는 ODBC를 설정합니다.
제어판 - 관리도구 - ODBC 데이터 원본(64비트)
2. MySQL Workbench 에서 migration 수행
- [Database] - [Migration Wizard...] 클릭 후 첫 화면에서 [Start Migration] 버튼을 클릭한다.
아래와 같은 "Source Selection" 화면이 나오면 아래 내용을 선택하거나 입력한다.
- Database System : Microsoft SQ Server 를 선택
- Connection Method : ODBC Data Source 를 선택
- DSN에서는 각자가 만든 SQLServer ODBC를 선택(본 문서의 예시에서는 sqlserver-odbc 선택)
- Username : 소스 DB의 user명 입력
- Database : 데이터 마이그레이션을 할 Database 입력
[Test Connection] 버튼을 클릭하여 정상적으로 접속되는지 확인한 후 [Next] 버튼을 클릭한다.
아래와 같은 "Target Selection" 화면이 나오면 아래 내용을 선택하거나 입력한다.
- Connection Method : Standard(TCP/IP)를 선택
- Hostname : 타겟 DB의 IP나 호스트명을 입력
- Port : 타겟DB 접속 Port
- Username : 타겟 DB의 접속 user명 입력
- Database Schema : 데이터 마이그레이션을 할 Database 입력 --> 수정
[Test Connection] 버튼을 클릭하여 정상적으로 접속되는지 확인한 후 [Next] 버튼을 클릭한다.
위의 입력 내용을 바탕으로 소스DB와 타겟DB 접속을 확인하고 소스DB로부터 스키마를 조회한다. 아래 화면처럼 3개의 체크상태가 정상이면 [Next] 버튼을 클릭한다.
Schemas Selection
아래 화면이 나타나면 마이그레이션할 데이터베이스를 선택한다. 아래 화면은 "migratedb"를 선택한 예제이다.
스키마 이름 매핑 방법(Schema Name Mapping Method)은 Microsoft SQL Server에서 마이그레이션하기 위한 아래의 옵션을 제공한다.
- Keep schemas as they are: Catalog.Schema.Table -> Schema.Table: 스키마당 하나씩 여러 데이터베이스가 생성
- Only one schema: Catalog.Schema.Table -> Catalog.Table: 각 스키마를 단일 데이터베이스로 병합(다음 그림 참조).
- Only one schema, keep current schema names as a prefix: Catalog.Schema.Table -> Catalog.Schema_table: 스키마 이름을 접두사로 유지