__tencentdb__를 작성하여 동기화 작업 중에 데이터 비교 정보를 기록합니다.__tencentdb__ 시스템 데이터베이스는 동기화 작업이 끝난 후 삭제되지 않습니다.__tencentdb__시스템 데이터베이스는 단일 스레드 연결 대기 메커니즘을 사용하며 원본 데이터베이스의 저장 공간의 약 0.01%–0.1%인 매우 작은 공간을 차지합니다. 예를 들어, 원본 데이터베이스가 50GB인 경우 __tencentdb__는 약 5KB - 50KB가 됩니다. 따라서 원본 데이터베이스의 성능에 거의 영향을 미치지 않으며 리소스를 선점하지 않습니다.GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW VIEW,PROCESS,SELECT ON *.* TO '계정'@'%' IDENTIFIED BY '비밀번호';GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO '계정'@'%';FLUSH PRIVILEGES;
DEFINER([DEFINER = user1])에 해당하는 user1이 동기화 계정의 user2와 동일한지 확인하고, 동일하지 않은 경우 동기화 후 DTS는 대상 데이터베이스에 있는 user1의 SQL SECURITY 속성을 DEFINER에서 INVOKER([INVOKER = user1])로 변경하고 대상 데이터베이스의 DEFINER를 동기화 계정의 user2로 설정합니다([DEFINER = 동기화 계정 user2]). 소스 라이브러리의 뷰 정의가 너무 복잡하면 작업이 실패할 수 있습니다.STATEMENT 형식의 Binlog 문을 생성하면 동기화가 실패합니다.STATEMENT 형식의 Binlog 데이터를 원본 데이터베이스에 쓰지 마십시오.__tencentdb__를 삭제하지 마십시오.작업 유형 | SQL 문 |
DML | INSERT, UPDATE, DELETE |
DDL | CREATE DATABASE, DROP DATABASE, ALTER DATABASE, CREATE TABLE, ALTER TABLE, DROP TABLE, TRUNCATE TABLE, RENAEM TABLE, CREATE VIEW, DROP VIEW, CREATE INDEX, DROP INDEX 설명: 파티션(Partition)과 관련된 DDL 문은 동기화할 수 없습니다. |
유형 | 환경 요건 |
원본 데이터베이스 요구 사항 | 원본 및 대상 데이터베이스를 연결할 수 있어야 합니다. 데이터베이스 매개변수 요구 사항: 원본 데이터베이스의 server_id 매개변수는 수동으로 설정해야 하며 0이 될 수 없습니다. 원본 데이터베이스/테이블의 row_format은 FIXDE로 설정할 수 없습니다. 원본 및 대상 데이터베이스의 lower_case_table_names 변수 값은 동일해야 합니다. 원본 데이터베이스의 connect_timeout 변수는 10 이상이어야 합니다. 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 두 가지 유형 중 하나로만 설정할 수 있습니다. 부분 테이블 동기화 중에 외래 키 종속성이 있는 테이블을 마이그레이션해야 합니다. |
대상 데이터베이스에 대한 요구 사항 | 대상 데이터베이스 버전은 원본 데이터베이스 버전보다 높거나 같아야 합니다. 대상 데이터베이스에는 충분한 저장 공간이 있어야 합니다. 초기화 유형으로 ‘전체 데이터 초기화’를 선택한 경우 대상 데이터베이스 공간은 원본 데이터베이스에서 동기화할 데이터베이스/테이블 공간의 1.2배 이상이어야 합니다. 대상 데이터베이스는 원본 데이터베이스에 있는 것과 동일한 이름을 가진 테이블 및 뷰와 같은 동기화 객체를 가질 수 없습니다. 대상 데이터베이스의 max_allowed_packet 매개변수는 4MB 이상으로 설정해야 합니다. |
기타 요구 사항 | 환경 변수 innodb_stats_on_metadata를 OFF로 설정해야 합니다. |
매개변수 | 설명 |
과금 방식 | 정액 과금제 및 사용량 과금이 지원됩니다. |
원본 인스턴스 유형 | MySQL을 선택합니다. 한 번 구성하면 변경할 수 없습니다. |
원본 인스턴스 리전 | 원본 데이터베이스 리전을 선택합니다. 구성한 후에는 변경할 수 없습니다. |
대상 인스턴스 유형 | MySQL을 선택합니다. 한 번 구성하면 변경할 수 없습니다. |
대상 인스턴스 리전 | 대상 데이터베이스 리전을 선택합니다. 한 번 구성되면 변경할 수 없습니다. |
사양 | 비즈니스 요구 사항에 따라 사양을 선택하십시오. 사양이 높을수록 성능이 좋습니다. |

설정 항목 | 매개변수 | 설명 |
작업 설정 | 작업 이름 | DTS는 사용자 정의할 수 있는 작업 이름을 자동으로 생성합니다. |
| 실행 모드 | 즉시 실행 및 예약 실행이 지원됩니다. |
원본 데이터베이스 설정 | 원본 인스턴스 유형 | 구매 시 선택한 원본 데이터베이스 유형을 선택합니다. 변경할 수 없습니다. |
| 원본 인스턴스 리전 | 구매 시 선택한 원본 데이터베이스 리전을 선택합니다. 이 리전은 한 번 설정하면 변경할 수 없습니다. |
| 서비스 제공자 | 자체 구축 데이터베이스(클라우드 서버에 자체 구축 포함) 또는 Tencent Cloud 데이터베이스는 ‘일반’을 선택하고 타사 클라우드 벤더 데이터베이스는 해당 서비스 제공 업체를 선택하십시오. 이 시나리오에서는 ‘일반’을 선택하십시오. |
| 액세스 유형 | 이 시나리오에서는 ‘데이터베이스’를 선택합니다. |
| 교차/인트라 계정 | 이 시나리오에서는 ‘인트라 계정’을 선택합니다. |
| 인스턴스 ID | 원본 데이터베이스 인스턴스 ID입니다. |
| 계정 | 필수 권한이 있어야 하는 소스 데이터베이스의 계정입니다. |
| 비밀번호 | 원본 데이터베이스의 암호입니다. |
대상 인스턴스 설정 | 대상 인스턴스 유형 | 구매 시 선택한 대상 데이터베이스 유형. 변경할 수 없습니다. |
| 대상 인스턴스 리전 | 구매 시 대상 데이터베이스 리전을 선택합니다. 변경할 수 없습니다. |
| 액세스 유형 | 자체 구축 또는 타사 클라우드 데이터베이스의 경우 일반적으로 공중망를 선택하거나 VPN 액세스, 직접 연결 또는 CCN을 선택할 수 있습니다. 실제 네트워크 상태를 기준으로 선택합니다. 이 시나리오에서는 ‘공중망’을 예로 들어 설명하며, 다양한 액세스 유형에 대한 준비는 준비 작업 개요를 참고하십시오. |
| 호스트 주소 | 대상 데이터베이스의 IP 주소 또는 도메인 이름입니다. |
| 포트 | 대상 데이터베이스의 포트입니다. |
| 계정 | 특정 권한이 있어야 하는 대상 데이터베이스 계정입니다. |
| 비밀번호 | 대상 데이터베이스의 비밀번호입니다. |

설정 항목 | 매개변수 | 설명 |
데이터 초기화 옵션 | 초기화 유형 | 구조 초기화: 원본 데이터베이스의 테이블 구조는 동기화 작업이 실행되기 전에 대상 데이터베이스로 초기화됩니다. 전체 데이터 초기화: 원본 데이터베이스의 데이터는 동기화 작업이 실행되기 전에 대상 데이터베이스로 초기화됩니다. 두 옵션 모두 기본적으로 선택되어 있으며 필요에 따라 선택을 취소할 수 있습니다. |
| 대상이 이미 있는 경우 | 사전 확인 및 오류 보고: 동일한 이름의 테이블이 원본 및 대상 데이터베이스에 모두 있는 경우 오류가 보고되고 작업이 중지됩니다. 무시 및 실행: 전체 및 증분 데이터가 대상 데이터베이스의 테이블에 직접 추가됩니다. |
데이터 동기화 옵션 | 충돌 해결 방법 | 보고: 데이터 동기화 중 기본 키 충돌이 발견되면 오류가 보고되고 데이터 동기화 작업이 일시 중지됩니다. 무시: 데이터 동기화 중에 기본 키 충돌이 발견되면 대상 데이터베이스의 기본 키 레코드가 유지됩니다. 덮어쓰기: 데이터 동기화 중에 기본 키 충돌이 발견되면 원본 데이터베이스의 기본 키 레코드가 대상 데이터베이스의 기본 키 레코드를 덮어씁니다. |
| 동기화 작업 유형 | 지원되는 작업: Insert, Update, Delete, DDL. 필요에 따라 다른 DDL 동기화 정책을 선택하려면 ‘DDL 사용자 지정’을 여십시오. 자세한 내용은 SQL 필터 정책 설정을 참고하십시오. |
동기화 객체 옵션 | 원본 인스턴스 DB 테이블 객체 | 동기화할 객체를 선택하고 기본 DB 테이블, 뷰, 저장 프로시저 및 함수를 지원합니다. 고급 객체 동기화는 일회성 작업입니다. 작업이 시작되기 전에 원본 데이터베이스의 고급 객체 동기화만 지원합니다. 작업이 시작된 후 새로 추가된 고급 객체는 대상 데이터베이스에 동기화되지 않습니다. 자세한 내용은 고급 객체 동기화를 참고하십시오. |
| 선택된 객체 | DB 테이블 매핑 지원(DB 테이블 이름 변경), 데이베이스 이름과 테이블 이름 위에 마우스를 올리면 편집 버튼이 나타납니다. 클릭 후 팝업 창에서 새 이름을 입력할 수 있습니다. 동기화할 고급 객체를 선택할 때 DB 테이블의 이름 변경을 하지 않는 것이 좋습니다. 그렇지 않으면 고급 객체의 동기화가 실패할 수 있습니다. Online DDL 임시 테이블 동기화를 지원(gh-ost, pt-online-schema-change 툴 사용)합니다. 테이블의 편집 버튼을 클릭하면 팝업 창에서 임시 테이블 이름을 선택할 수 있습니다. 자세한 내용은 Online DDL 임시 테이블 동기화를 참고하십시오. |


피드백