__tencentdb__를 입력하여 마이그레이션 작업 중 데이터 대조 정보를 기록합니다.__tencentdb__ 시스템 데이터베이스는 마이그레이션 작업이 끝난 후 삭제되지 않습니다.__tencentdb__시스템 데이터베이스는 단일 스레드 연결 대기 메커니즘을 사용하며 원본 데이터베이스의 저장 공간의 약 0.01%–0.1%인 매우 작은 공간을 차지합니다. 예를 들어, 원본 데이터베이스가 50G인 경우 __tencentdb__는 약 5K-50K가 됩니다. 따라서 원본 데이터베이스의 성능에 거의 영향을 미치지 않으며 리소스를 선점하지 않습니다.CREATE USER ’마이그레이션 계정’@’%’ IDENTIFIED BY ’마이그레이션 비밀번호’;GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHOW VIEW,PROCESS ON *.* TO ’마이그레이션 계정’@’%’;//원본 데이터베이스가 Alibaba 클라우드 데이터베이스인 경우 SHOW DATABASES에 대한 인증이 필요하지 않으며 다른 시나리오에 대한 인증이 필요하며, Alibaba CDB 인증은 https://help.aliyun.com/document_detail/96101.html을 참고하십시오//트리거 및 이벤트 마이그레이션을 선택하는 경우 TRIGGER 및 EVENT 권한을 모두 부여해야 합니다GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO '마이그레이션 계정'@'%';GRANT SELECT ON *.* TO '마이그레이션 계정';
CREATE USER ’마이그레이션 계정’@’%’ IDENTIFIED BY ’마이그레이션 비밀번호’;GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHOW VIEW,PROCESS ON *.* TO ’마이그레이션 계정’@’%’;//원본 데이터베이스가 Alibaba CDB인 경우 SHOW DATABASES에 대한 권한 부여가 필요하지 않으며 다른 시나리오는 필요합니다. Alibaba 클라우드 데이터베이스 권한 부여는 https://help.aliyun.com/document_detail/96101.html을 참고하십시오//트리거 및 이벤트 마이그레이션을 선택하는 경우 TRIGGER 및 EVENT 권한을 모두 부여해야 합니다.GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO '마이그레이션 계정'@'%';GRANT SELECT ON `mysql`.* TO '마이그레이션 계정'@'%';GRANT SELECT ON 마이그레이션 예정 데이터베이스.* TO '마이그레이션 계정';
information_schema, sys, performance_schema, __cdb_recycle_bin__, __recycle_bin__, __tencentdb__, mysql을 포함한 시스템 DB 테이블은 마이그레이션할 수 없습니다.DEFINER([DEFINER = user1])에 해당하는 user1이 마이그레이션 계정의 user2와 동일한지 확인하고, 동일하지 않은 경우 마이그레이션 후 DTS는 타깃 데이터베이스에 있는 user1의 SQL SECURITY 속성을 DEFINER에서 INVOKER([INVOKER = user1])로 변경하고 타깃 데이터베이스의 DEFINER를 마이그레이션 계정의 user2로 설정합니다([DEFINER = 마이그레이션 계정 user2]). 원본 데이터베이스의 뷰 정의가 너무 복잡하면 작업이 실패할 수 있습니다.STATEMENT 형식의 Binlog문을 생성하면 마이그레이션이 실패됩니다.ALTER VIEW 문은 지원되지 않으며 마이그레이션 중에 건너뜁니다.STATEMENT 형식의 Binlog 데이터를 원본 데이터베이스에 쓰지 마십시오.__tencentdb__를 삭제하지 마십시오.작업 유형 | 지원되는 SQL 작업 |
DML | INSERT, UPDATE, DELETE, REPLACE |
DDL | TABLE: CREATE TABLE, ALTER TABLE, DROP TABLE, TRUNCATE TABLE, RENAEM TABLE VIEW: CREATE VIEW, DROP VIEW INDEX: CREATE INDEX, DROP INDEX DATABASE: CREATE DATABASE, ALTER DATABASE, DROP DATABASE |
유형 | 환경 요건 |
원본 데이터베이스 요구 사항 | 원본 및 타깃 데이터베이스를 연결할 수 있어야 합니다. 원본 데이터베이스가 있는 서버에 충분한 아웃바운드 대역폭이 있어야 합니다. 그렇지 않으면 마이그레이션 속도가 영향을 받습니다. 데이터베이스 매개변수 요구 사항: 원본 데이터베이스의 server_id 매개변수는 수동으로 설정해야 하며 0이 될 수 없습니다. 원본 데이터베이스/테이블의 row_format은 FIXED로 설정할 수 없습니다. 원본 및 타깃 데이터베이스의 lower_case_table_names 변수 값은 동일해야 합니다. 원본 데이터베이스의 connect_timeout 변수는 10 이상이어야 합니다. 연결 시간 초과 가능성을 줄이려면 skip-name-resolve를 활성화하는 것이 좋습니다. Binlog 매개변수 요구사항: 원본 데이터베이스의 log_bin 변수는 ON으로 설정해야 합니다. 원본 데이터베이스의 binlog_format 변수는 ROW로 설정해야 합니다. 원본 데이터베이스의 binlog_row_image 변수는 FULL로 설정해야 합니다. MySQL 5.6 이상에서 gtid_mode 변수가 ON이 아니면 알람이 트리거됩니다. gtid_mode를 활성화하는 것이 좋습니다. do_db 및 ignore_db로 필터 조건을 설정할 수 없습니다. 원본 데이터베이스가 세컨더리 데이터베이스인 경우 log_slave_updates 변수를 ON으로 설정해야 합니다. 최소 3일 동안 원본 데이터베이스의 Binlog를 보관하는 것이 좋습니다. 그렇지 않으면 체크포인트에서 작업을 재개할 수 없으며 실패합니다. 외래 키 종속성: 외래 키 종속성은 NO ACTION 또는 RESTRICT 두 가지 유형 중 하나로만 설정할 수 있습니다. 부분 테이블 마이그레이션 중에는 외래 키 종속성이 있는 테이블을 마이그레이션해야 합니다. FLOAT 유형의 데이터에 대한 DTS의 마이그레이션 정밀도는 38자리이며, DOUBLE 유형의 데이터는 308자리입니다. 요구 사항을 충족하는지 확인해야 합니다. |
타깃 데이터베이스에 대한 요구 사항 | 타깃 데이터베이스 버전은 원본 데이터베이스 버전보다 높거나 같아야 합니다. 타깃 데이터베이스 공간의 크기는 원본 데이터베이스에서 마이그레이션할 데이터베이스/테이블 크기의 1.2배 이상이어야 합니다. (전체 데이터 마이그레이션은 INSERT 작업을 동시에 실행하여 타깃 데이터베이스의 일부 테이블에서 데이터 조각을 생성합니다. 따라서 전체 마이그레이션이 완료된 후 타깃 데이터베이스의 테이블 크기가 원본 데이터베이스의 테이블 크기보다 클 수 있습니다.) 타깃 데이터베이스는 원본 데이터베이스에 있는 것과 동일한 이름을 가진 테이블 및 뷰와 같은 마이그레이션 객체를 가질 수 없습니다. 타깃 데이터베이스의 max_allowed_packet 매개변수는 4M 이상으로 설정해야 합니다. |
기타 요구 사항 | 환경 변수 innodb_stats_on_metadata를 OFF로 설정해야 합니다. |
설정 항목 | 설명 |
원본 인스턴스 유형 | 원본 데이터베이스 유형을 선택합니다. 구매 후 변경할 수 없습니다. 여기에서는 ‘MySQL’을 선택합니다. |
원본 인스턴스 리전 | 원본 데이터베이스 리전을 선택합니다. 원본 데이터베이스가 자체 구축된 데이터베이스인 경우 가장 가까운 리전을 선택하십시오. |
타깃 인스턴스 유형 | 타깃 데이터베이스 유형을 선택합니다. 구매 후 변경할 수 없습니다. 여기에서 ‘MySQL’을 선택합니다. |
타깃 인스턴스 리전 | 타깃 데이터베이스 리전을 선택합니다. |
사양 | 비즈니스 상황에 따라 마이그레이션 링크의 사양을 선택합니다. |

설정 유형 | 설정 항목 | 설명 |
작업 설정 | 작업 이름 | 쉬운 작업 식별을 위해 의미 있는 이름을 설정합니다. |
| 실행 모드 | 즉시 실행: 작업 확인 통과 직후 작업이 시작됩니다. 예약 실행: 작업 실행 시간을 설정하면 작업이 자동으로 시작됩니다. |
| 태그 | 태그는 다양한 차원의 범주별로 리소스를 관리하는 데 사용됩니다. 기존 태그가 요구 사항을 충족하지 않는 경우 콘솔로 이동하여 추가로 생성하십시오. |
원본 데이터베이스 설정 | 원본 데이터베이스 유형 | 구매 시 선택한 원본 데이터베이스 유형으로, 변경할 수 없습니다. |
| 서비스 공급자 | 자체 구축 데이터베이스(클라우드 서버에 자체 구축 포함) 또는 Tencent Cloud 데이터베이스는 ‘일반’을 선택하고 타사 클라우드 벤더 데이터베이스는 해당 서비스 제공 업체를 선택하십시오.
이 시나리오에서는 ‘일반’을 선택합니다. |
| 리전 | 구매 시 선택한 리전으로, 변경할 수 없습니다. |
| 액세스 유형 | 시나리오에 따라 선택하십시오. 이 시나리오에서는 ‘DC(Direct Connect)’ 또는 ‘VPN 액세스’를 선택합니다. 이 시나리오에서는 VPN과 IDC 간의 통신을 설정해야 합니다. 다른 액세스 유형에 대한 준비 작업은 준비 작업 개요를 참고하십시오. 공중망: 원본 데이터베이스는 공용 IP를 통해 액세스할 수 있습니다. CVM에서 자체 구축: 원본 데이터베이스가 CVM 인스턴스에 배포됩니다. DC: 원본 데이터베이스는 DC를 통해 VPC와 상호 연결될 수 있습니다. VPN 액세스: 원본 데이터베이스는 VPN 연결을 통해 VPC와 상호 연결될 수 있습니다. 데이터베이스: 원본 데이터베이스는 TencentDB 데이터베이스입니다. CCN: 원본 데이터베이스는 CCN을 통해 VPC와 상호 연결될 수 있습니다. |
| VPC 전용 게이트웨이/ VPN 게이트웨이 | 전용 게이트웨이 액세스 시 VPC 전용 게이트웨이만 지원됩니다. 게이트웨이 연결 네트워크 유형을 확인해 주십시오.
VPN 게이트웨이, VPN 게이트웨이를 통해 액세스한 VPN 게이트웨이 인스턴스를 선택하십시오. |
| VPC | VPC 전용 게이트웨이와 VPN 게이트웨이에 연결된 VPC 및 서브넷을 선택합니다. |
| 호스트 주소 | 원본 MySQL 데이터베이스에 액세스하기 위한 IP 주소 또는 도메인 이름입니다. |
| 포트 | 원본 MySQL 데이터베이스에 액세스하기 위한 포트입니다. |
| 계정 | 특정 권한이 있어야 하는 원본 MySQL 데이터베이스의 계정입니다. |
| 비밀번호 | 원본 MySQL 데이터베이스의 비밀번호입니다. |
타깃 라이브러리 설정 | 타깃 데이터베이스 유형 | 구매 시 선택한 타깃 데이터베이스 유형으로, 변경할 수 없습니다. |
| 리전 | 구매 시 선택한 타깃 데이터베이스 리전으로, 변경할 수 없습니다. |
| 액세스 유형 | 시나리오에 따라 유형을 선택하십시오. 본문은 ‘데이터베이스’를 선택합니다. |
| 데이터베이스 인스턴스 | 타깃 데이터베이스의 인스턴스 ID를 선택합니다. |
| 계정 | 특정 권한이 있어야 하는 타깃 데이터베이스 계정입니다. |
| 비밀번호 | 타깃 데이터베이스의 암호입니다. |
설정 유형 | 설정 항목 | 설명 |
작업 설정 | 작업 이름 | 쉬운 작업 식별을 위해 의미 있는 이름을 설정합니다. |
| 실행 모드 | 즉시 실행: 작업 확인 통과 직후 작업이 시작됩니다. 예약 실행: 작업 실행 시간을 설정하면 작업이 자동으로 시작됩니다. |
| 태그 | 태그는 다양한 차원의 범주별로 리소스를 관리하는 데 사용됩니다. 기존 태그가 요구 사항을 충족하지 않는 경우 콘솔로 이동하여 추가로 생성하십시오. |
원본 데이터베이스 설정 | 원본 데이터베이스 유형 | 구매 시 선택한 원본 데이터베이스 유형으로, 변경할 수 없습니다. |
| 서비스 공급자 | 자체 구축 데이터베이스(클라우드 서버에 자체 구축 포함) 또는 Tencent Cloud 데이터베이스는 ‘일반’을 선택하고 타사 클라우드 벤더 데이터베이스는 해당 서비스 제공 업체를 선택하십시오.
이 시나리오에서는 ‘일반’을 선택하십시오. |
| 리전 | 데이터 마이그레이션 작업 구매 시 선택한 원본 데이터베이스 리전으로, 변경할 수 없습니다. |
| 액세스 유형 | 공중망: 원본 데이터베이스는 공용 IP를 통해 액세스할 수 있습니다. CVM에서 자체 구축: 원본 데이터베이스가 CVM 인스턴스에 배포됩니다. DC: 원본 데이터베이스는 DC를 통해 VPC와 상호 연결될 수 있습니다. VPN 액세스: 원본 데이터베이스는 VPN 연결을 통해 VPC와 상호 연결될 수 있습니다. 데이터베이스: 원본 데이터베이스는 TencentDB 데이터베이스입니다. CCN: 원본 데이터베이스는 CCN을 통해 VPC와 상호 연결될 수 있습니다. |
| 교차 계정/계정 내 | 계정 내: 원본 및 대상 데이터베이스 인스턴스는 동일한 Tencent Cloud 루트 계정에 속합니다. 교차 계정: 원본 및 대상 데이터베이스 인스턴스는 서로 다른 Tencent Cloud 루트 계정에 속합니다.다음은 동일한 계정으로 마이그레이션을 예로 사용합니다. |
| 데이터베이스 인스턴스 | 원본 MySQL 데이터베이스의 인스턴스 ID입니다. |
| 계정 | 특정 권한이 있어야 하는 원본 MySQL 데이터베이스의 계정입니다. |
| 비밀번호 | 원본 MySQL 데이터베이스의 비밀번호입니다. |
타깃 라이브러리 설정 | 타깃 데이터베이스 유형 | 구매 시 선택한 타깃 데이터베이스 유형으로, 변경할 수 없습니다. |
| 리전 | 구매 시 선택한 타깃 데이터베이스 리전으로, 변경할 수 없습니다. |
| 액세스 유형 | 시나리오에 따라 유형을 선택하십시오. 본문은 ‘데이터베이스’를 선택합니다. |
| 데이터베이스 인스턴스 | 타깃 데이터베이스의 인스턴스 ID를 선택합니다. |
| 계정 | 특정 권한이 있어야 하는 타깃 데이터베이스 계정입니다. |
| 비밀번호 | 타깃 데이터베이스의 암호입니다. |
설정 유형 | 설정 항목 | 설명 |
작업 설정 | 작업 이름 | 쉬운 작업 식별을 위해 의미 있는 이름을 설정합니다. |
| 실행 모드 | 즉시 실행: 작업 확인 통과 직후 작업이 시작됩니다. 예약 실행: 작업 실행 시간을 설정하면 작업이 자동으로 시작됩니다. |
| 태그 | 태그는 다양한 차원의 범주별로 리소스를 관리하는 데 사용됩니다. 기존 태그가 요구 사항을 충족하지 않는 경우 콘솔로 이동하여 추가로 생성하십시오. |
원본 데이터베이스 설정 | 원본 데이터베이스 유형 | 구매 시 선택한 원본 데이터베이스 유형으로, 변경할 수 없습니다. |
| 서비스 공급자 | 자체 구축 데이터베이스(클라우드 서버에 자체 구축 포함) 또는 Tencent Cloud 데이터베이스는 ‘일반’을 선택하고 타사 클라우드 벤더 데이터베이스는 해당 서비스 제공 업체를 선택하십시오.
이 시나리오에서는 ‘Alibaba Cloud’를 선택합니다. |
| 리전 | 구매 시 선택한 원본 데이터베이스 리전으로, 변경할 수 없습니다. |
| 액세스 유형 | 타사 클라우드 데이터베이스의 경우 일반적으로 공중망를 선택하거나 VPN 액세스, 직접 연결 또는 CCN을 선택할 수 있습니다. 실제 네트워크 상태를 기준으로 선택합니다.
이 시나리오에서는 ‘공중망’을 선택합니다. 다양한 액세스 유형에 대한 준비는 준비 작업 개요를 참고하십시오. 공중망: 원본 데이터베이스는 공용 IP를 통해 액세스할 수 있습니다. CVM에서 자체 구축: 원본 데이터베이스가 CVM 인스턴스에 배포됩니다. DC: 원본 데이터베이스는 DC를 통해 VPC와 상호 연결될 수 있습니다. VPN 액세스: 원본 데이터베이스는 VPN 연결을 통해 VPC와 상호 연결될 수 있습니다. 데이터베이스: 원본 데이터베이스는 TencentDB 데이터베이스입니다. CCN: 원본 데이터베이스는 CCN을 통해 VPC와 상호 연결될 수 있습니다. |
| 호스트 주소 | 원본 MySQL 데이터베이스에 액세스하기 위한 IP 주소 또는 도메인 이름입니다. |
| 포트 | 원본 MySQL 데이터베이스에 액세스하기 위한 포트입니다. |
| 계정 | 특정 권한이 있어야 하는 원본 MySQL 데이터베이스의 계정입니다. |
| 비밀번호 | 원본 MySQL 데이터베이스의 비밀번호입니다. |
타깃 라이브러리 설정 | 타깃 데이터베이스 유형 | 구매 시 선택한 타깃 데이터베이스 유형으로, 변경할 수 없습니다. |
| 리전 | 구매 시 선택한 타깃 데이터베이스 리전으로, 변경할 수 없습니다. |
| 액세스 유형 | 시나리오에 따라 유형을 선택하십시오. 본문은 ‘데이터베이스’를 선택합니다. |
| 데이터베이스 인스턴스 | 타깃 데이터베이스의 인스턴스 ID를 선택합니다. |
| 계정 | 특정 권한이 있어야 하는 타깃 데이터베이스 계정입니다. |
| 비밀번호 | 타깃 데이터베이스의 암호입니다. |

설정 항목 | 설명 |
마이그레이션 유형 | 시나리오에 따라 유형을 선택하십시오. 구조적 마이그레이션: 데이터베이스 및 데이터베이스의 테이블과 같은 구조적 데이터가 마이그레이션됩니다. 전체 마이그레이션: 전체 데이터베이스의 데이터베이스/테이블 구조 및 전체 데이터가 마이그레이션됩니다. 마이그레이션된 콘텐츠에는 작업이 시작될 때 원본 데이터베이스의 기존 데이터만 포함되며 작업이 시작된 후 원본 데이터베이스에 기록된 증분 데이터는 포함되지 않습니다. 전체 + 증분 마이그레이션: 데이터베이스/테이블 구조 및 전체 데이터베이스의 데이터가 마이그레이션됩니다. 마이그레이션된 콘텐츠에는 작업이 시작될 때 원본 데이터베이스의 기존 콘텐츠와 작업이 시작된 후 원본 데이터베이스에 기록된 증분 데이터가 포함됩니다. 마이그레이션 중에 원본 데이터베이스에 데이터 쓰기가 있고 논스톱 방식으로 원활하게 데이터를 마이그레이션하려면 이 옵션을 선택하십시오. |
데이터 일관성 확인 | ‘전체 + 증분 마이그레이션’을 선택하면 데이터 일관성 검사를 수행하여 마이그레이션 후 원본 데이터베이스와 대상 데이터베이스의 데이터를 주의 깊게 비교할 수 있습니다. ‘전체 확인’을 선택한 경우 마이그레이션 작업이 ‘증분 동기화’ 단계에 들어가면 시간 지연이 0초이고 대상 데이터베이스와 원본 데이터베이스 간의 데이터 간격이 0MB이면 DTS가 자동으로 데이터 일관성 검사 작업을 트리거합니다. ‘전체 확인’이 선택되지 않은 경우 작업이 ‘증분 동기화’ 단계로 들어갈 때 확인 작업을 수동으로 트리거할 수 있습니다. 자세한 내용은 데이터 일관성 검증 생성을 참고하십시오. |
객체 마이그레이션 | 전체 인스턴스: information_schema, mysql, performance_schema 및 sys와 같은 시스템 데이터베이스를 제외한 전체 데이터베이스 인스턴스를 마이그레이션합니다. 지정된 객체: 지정된 객체를 마이그레이션합니다. |
고급 마이그레이션 객체 | 저장 프로시저(Procedure), 함수(Function), 트리거(Trigger) 및 이벤트(Event)를 마이그레이션할 수 있습니다. 고급 객체의 마이그레이션은 일회성 작업입니다. 작업이 시작되기 전에 원본 데이터베이스에 있는 고급 객체의 마이그레이션만 지원합니다. 작업이 시작된 후 새로 추가된 고급 객체는 타깃 데이터베이스와 동기화되지 않습니다. 저장 프로시저 및 함수는 ‘원본 데이터베이스 내보내기’ 단계에서 마이그레이션됩니다. 트리거 및 이벤트, 증분 작업 없음, 작업 종료 시 마이그레이션, 증분 작업이 있는 경우 사용자가 작업 완료를 클릭한 후에 마이그레이션이 시작되므로 완료 클릭 후 작업 전환 시간이 더 길어집니다. |
계정 마이그레이션 | 원본 데이터베이스의 계정 정보를 마이그레이션하려면 이 기능을 선택하십시오. |
선택한 객체 | 데이터베이스/테이블 매핑(이름 변경)이 지원됩니다. 데이터베이스 또는 테이블 이름 위로 마우스를 가져간 후 표시된 **편집** 아이콘을 클릭하고 팝업 창에 새 이름을 입력합니다. 마이그레이션을 위해 고급 객체를 선택한 경우 데이터베이스/테이블의 이름을 바꾸지 않는 것이 좋습니다. 그렇지 않으면 고급 객체의 마이그레이션이 실패할 수 있습니다. 온라인 DDL 임시 테이블을 마이그레이션할 수 있습니다(gh-ost 또는 pt-online-schema-change와 같은 도구를 통해). 테이블의 편집을 클릭하고 팝업 창에서 임시 테이블 이름을 선택합니다. 자세한 내용은 Online DDL 임시 테이블 마이그레이션을 참고하십시오. |


피드백