__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 ’마이그레이션 계정’@’%’;//원본이 Tencent Cloud MariaDB 데이터베이스인 경우 RELOAD 인증을 위해 티켓을 제출해야 하며, 다른 시나리오의 경우 코드 인증을 참고하십시오//원본 데이터베이스가 Alibaba CDB인 경우 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 ’마이그레이션 계정’@’%’;//원본이 Tencent Cloud MariaDB 데이터베이스인 경우 RELOAD 인증을 위해 티켓을 제출해야 하며, 다른 시나리오의 경우 코드 인증을 참고하십시오//원본 데이터베이스가 Alibaba CDB인 경우 SHOW DATABASES에 대한 인증이 필요하지 않으며 다른 시나리오에 대한 인증이 필요하며, Alibaba CDB 인증은 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문을 생성하면 마이그레이션이 실패됩니다.lower_case_tame_name 매개변수(테이블 이름 대소문자 구분) 값이 동일해야 합니다. 원본 데이터베이스가 TencentDB for MariaDB인 경우 인스턴스 생성 중에만 이 매개변수를 수정할 수 있으므로 원본 데이터베이스를 생성할 때 대소문자 구분 규칙을 결정하고 검증 중 값이 다른 경우 대상 데이터베이스의 이 매개변수를 수정해야 합니다. .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로 설정해야 합니다. |
설정 항목 | 설명 |
원본 인스턴스 유형 | 원본 데이터베이스 유형을 선택합니다. 구매 후 변경할 수 없습니다. 여기에서는 ‘MariaDB’를 선택합니다. |
원본 인스턴스 리전 | 원본 데이터베이스 리전을 선택합니다. 원본 데이터베이스가 자체 구축된 데이터베이스인 경우 가장 가까운 리전을 선택하십시오. |
타깃 인스턴스 유형 | 타깃 데이터베이스 유형을 선택합니다. 구매 후 변경할 수 없습니다. 여기에서는 ‘MariaDB’를 선택합니다. |
타깃 인스턴스 리전 | 타깃 데이터베이스 리전을 선택합니다. |
사양 |
설정 유형 | 설정 항목 | 설명 |
작업 설정 | 작업 이름 | 쉬운 작업 식별을 위해 의미 있는 이름을 설정합니다. |
| 실행 모드 | 즉시 실행: 작업 확인 통과 직후 작업이 시작됩니다. 예약 실행: 작업 실행 시간을 설정하면 작업이 자동으로 시작됩니다. |
| 태그 | 태그는 다양한 차원의 범주별로 리소스를 관리하는 데 사용됩니다. 기존 태그가 요구 사항을 충족하지 않는 경우 콘솔로 이동하여 추가로 생성하십시오. |
원본 데이터베이스 설정 | 원본 데이터베이스 유형 | 구매 시 선택한 원본 데이터베이스 유형으로, 변경할 수 없습니다. |
| 서비스 공급자 | 자체 구축 데이터베이스(클라우드 서버에 자체 구축 포함) 또는 Tencent Cloud 데이터베이스는 ‘일반’을 선택하고 타사 클라우드 벤더 데이터베이스는 해당 서비스 제공 업체를 선택하십시오. 이 시나리오에서는 ‘일반’을 선택하십시오. |
| 리전 | 구매 시 선택한 원본 데이터베이스 리전으로, 변경할 수 없습니다. |
| 액세스 유형 | 시나리오에 따라 선택하십시오. 이 시나리오에서는 ‘DC(Direct Connect)’ 또는 ‘VPN 액세스’를 선택합니다. 이 시나리오에서는 을 해야 합니다. 다른 액세스 유형에 대한 준비 작업은 를 참고하십시오. 공중망: 원본 데이터베이스는 공용 IP를 통해 액세스할 수 있습니다. CVM에서 자체 구축: 원본 데이터베이스가 CVM 인스턴스에 배포됩니다. DC: 원본 데이터베이스는 DC를 통해 VPC와 상호 연결될 수 있습니다. VPN 액세스: 원본 데이터베이스는 VPN 연결을 통해 VPC와 상호 연결될 수 있습니다. 데이터베이스: 원본 데이터베이스는 TencentDB 데이터베이스입니다. CCN: 원본 데이터베이스는 CCN을 통해 VPC와 상호 연결될 수 있습니다. |
| VPC 전용 게이트웨이/ VPN 게이트웨이 | 전용 게이트웨이 액세스 시 VPC 전용 게이트웨이만 지원됩니다. 게이트웨이 연결 네트워크 유형을 확인해 주십시오. VPN 게이트웨이, VPN 게이트웨이를 통해 액세스한 VPN 게이트웨이 인스턴스를 선택하십시오. |
| VPC | VPC 전용 게이트웨이와 VPN 게이트웨이에 연결된 VPC 및 서브넷을 선택합니다. |
| 호스트 주소 | 원본 데이터베이스에 액세스하기 위한 IP 주소 또는 도메인 이름입니다. |
| 포트 | 원본 데이터베이스에 액세스하기 위한 포트입니다. |
| 계정 | 특정 권한이 있어야 하는 원본 데이터베이스 계정입니다. |
| 비밀번호 | 원본 데이터베이스의 암호입니다. |
타깃 라이브러리 설정 | 타깃 데이터베이스 유형 | 구매 시 선택한 타깃 데이터베이스 유형으로, 변경할 수 없습니다. |
| 리전 | 구매 시 선택한 타깃 데이터베이스 리전으로, 변경할 수 없습니다. |
| 액세스 유형 | 시나리오에 따라 유형을 선택하십시오. 본문은 ‘데이터베이스’를 선택합니다. |
| 데이터베이스 인스턴스 | 타깃 데이터베이스의 인스턴스 ID를 선택합니다. |
| 계정 | 특정 권한이 있어야 하는 타깃 데이터베이스 계정입니다. |
| 비밀번호 | 타깃 데이터베이스의 암호입니다. |

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

피드백