tencent cloud

Data Transfer Service

소식 및 공지 사항
릴리스 노트
제품 소개
제품 개요
데이터 마이그레이션 기능 설명
데이터 동기화 기능 설명
데이터 구독(Kafka 버전) 기능 설명
제품 장점
구매 가이드
과금 개요
환불 설명
시작하기
데이터 마이그레이션 작업 가이드
데이터 동기화 작업 가이드
데이터 구독 작업 가이드(Kafka 버전)
준비 작업
자체구축 MySQL용 Binlog 설정
데이터 마이그레이션
데이터 마이그레이션 지원 데이터베이스
ApsaraDB 교차 계정 인스턴스 간 마이그레이션
PostgreSQL로 마이그레이션
작업 관리
데이터 동기화
데이터 동기화가 지원하는 데이터베이스
계정 간 TencentDB 인스턴스 동기화
작업 관리
데이터 구독(Kafka 버전)
데이터 구독이 지원하는 데이터베이스
데이터 구독 작업 생성
작업 관리
컷오버 설명
모니터링 및 알람
모니터링 메트릭 조회
사례 튜토리얼
양방향 동기화 데이터 구조 생성
다대일 동기화 데이터 구조 생성
멀티 사이트 Active-Active IDC 구축
데이터 동기화 충돌 해결 정책 선택하기
CLB 프록시를 사용하여 계정 간 데이터베이스 마이그레이션하기
CCN으로 자체 구축 MySQL에서 TencentDB for MySQL로 마이그레이션
검증 불통과 처리 방법
버전 확인
원본 데이터베이스 권한 확인
계정 충돌 확인
부분 데이터베이스 매개변수 확인
원본 인스턴스 매개변수 확인
매개변수 설정 충돌 확인
대상 데이터베이스 콘텐츠 충돌 확인
대상 데이터베이스 공간 확인
Binlog 매개변수 확인
증분 마이그레이션 전제 조건 확인
플러그인 호환성 확인
레벨2 파티션 테이블 확인
기본 키 확인
마이그레이션할 테이블에 대한 DDL 확인
시스템 데이터베이스 충돌 확인
소스 및 대상 인스턴스 테이블 구조 확인
InnoDB 테이블 확인
마이그레이션 객체 종속성 확인
제약 조건 확인
FAQs
데이터 마이그레이션
데이터 동기화
데이터 구독 Kafka 버전 FAQ
구독 정규식
API문서
History
Introduction
API Category
Making API Requests
(NewDTS) Data Migration APIs
Data Sync APIs
Data Consistency Check APIs
(NewDTS) Data Subscription APIs
Data Types
Error Codes
DTS API 2018-03-30
Service Agreement
Service Level Agreements
액세스 관리
DTS를 사용할 서브 계정 생성 및 권한 부여
서브 계정에 재무 권한 부여하기
문서Data Transfer Service검증 불통과 처리 방법부분 데이터베이스 매개변수 확인

부분 데이터베이스 매개변수 확인

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2022-02-25 14:18:15

MySQL/TDSQL MySQL/TDSQL-C/MariaDB/Percona 확인 사항

원본 데이터베이스 테이블의 ‘row_format’은 ‘FIXED’일 수 없습니다.
원본 및 대상 데이터베이스의 ‘lower_case_table_names’ 변수는 동일해야 합니다.
대상 데이터베이스의 ‘max_allowed_packet’ 매개변수는 4MB 이상으로 설정해야 합니다.
원본 데이터베이스의 ‘connect_timeout’ 변수는 10을 초과해야 합니다.
MySQL/TDSQL MySQL/TDSQL-C에서 MySQL로 마이그레이션할 때 시간이 많이 걸리는 SQL 문이 원본 데이터베이스에서 실행 중인 경우 ‘시간이 많이 걸리는 SQL 문이 원본 데이터베이스에서 실행 중이므로 테이블 잠금이 발생할 수 있습니다. 나중에 다시 시도하거나 원본 데이터베이스에서 SQL 문을 처리하십시오’라는 메시지가 보고됩니다.

수정 방법

원본 데이터베이스에서 row_format 매개변수 수정

데이터베이스 테이블의 ‘row_format’ 값이 ‘FIXED’인 경우 테이블의 각 행의 저장 길이가 제한을 초과하면 데이터 오버플로가 발생하고 오류가 보고됩니다. 따라서 콘텐츠 길이에 따라 각 행의 저장 길이가 달라지도록 ‘DYNAMIC’과 같은 다른 형식으로 수정해야 합니다.
유사한 오류가 발생하면 다음과 같이 수정하십시오.
1. 원본 데이터베이스에 로그인합니다.
2. ‘row_format’을 ‘DYNAMIC’으로 설정합니다.
alter table table_name row_format = DYNAMIC
3. 설정이 적용되었는지 확인합니다.
show table status like '%row_format%';
시스템에서 다음과 유사한 결과가 표시되어야 합니다.
mysql> show table status like '%row_format%';
+---------------+----------+
| Variable_name | Value |
+---------------+----------+
| row_format | DYNAMIC |
+---------------+----------+
1 row in set (0.00 sec)
4. 확인 작업을 다시 실행합니다.

lower_case_table_names를 원본 및 대상 데이터베이스에서 동일한 값으로 만들기

‘lower_case_table_names’는 MySQL에서 대소문자 구분을 설정합니다. 다음과 같은 유효 값이 있습니다. Windows 및 macOS 환경은 대소문자를 구분하지 않지만 Linux 환경은 대소문자를 구분합니다. 다른 운영 체제 간의 호환성을 보장하려면 동일한 대소문자 구분 규칙을 사용해야 합니다.
0: 저장된 테이블의 이름은 지정된 대소문자를 사용하고 비교하는 동안 대소문자를 구분합니다.
1: 저장된 테이블의 이름은 디스크에서 소문자이며 비교 시 대소문자를 구분하지 않습니다.
2: 저장된 테이블의 이름은 지정된 대소문자를 사용하고 비교하는 동안 소문자입니다.
유사한 오류가 발생하면 다음과 같이 원본 및 대상 데이터베이스의 매개변수를 동일한 값으로 설정합니다.
1. 원본 데이터베이스에 로그인합니다.
2. 원본 및 대상 데이터베이스에서 ‘lower_case_table_names’ 값을 확인합니다.
show variables like '%lower_case_table_names%';
3. ‘lower_case_table_names’ 매개변수를 수정합니다.
alter global lower_case_table_names = 1
4. 다음 명령을 실행하여 데이터베이스를 다시 시작합니다.
[\\$Mysql_Dir]/bin/mysqladmin -u root -p shutdown
[\\$Mysql_Dir]/bin/safe_mysqld &
5. 설정이 적용되었는지 확인합니다.
show variables like '%lower_case_table_names%';
시스템에서 다음과 유사한 결과가 표시되어야 합니다.
mysql> show variables like '%lower_case_table_names%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_table_names | 1 |
+------------------------+-------+
1 row in set (0.00 sec)
6. 확인 작업을 다시 실행합니다.

대상 데이터베이스에서 max_allowed_packet 매개변수 수정

‘max_allowed_packet’은 전송할 수 있는 패킷의 최대 크기입니다. 값이 너무 크면 더 많은 메모리가 사용되어 패킷이 손실되고 큰 예외 이벤트 패킷의 SQL 문을 캡처할 수 없습니다. 값이 너무 작으면 프로그램 오류가 발생하여 백업 실패 및 네트워크 패킷의 빈번한 송수신으로 인해 시스템 성능이 저하됩니다.
유사한 오류가 발생하면 다음과 같이 수정하십시오.
1. 대상 데이터베이스에 로그인합니다.
2. ‘max_allowed_packet’ 매개변수를 수정합니다.
set global max_allowed_packet = 4M
3. 설정이 적용되었는지 확인합니다.
show global variables like '%max_allowed_packet%';
시스템에서 다음과 유사한 결과가 표시되어야 합니다.
mysql> show global variables like '%max_allowed_packet%';
+------------------------+---------+
| Variable_name | Value |
+------------------------+---------+
| max_allowed_packet | 4194304 |
+------------------------+---------+
1 row in set (0.00 sec)
4. 확인 작업을 다시 실행합니다.

원본 데이터베이스에서 connect_timeout 변수 수정

‘connect_timeout’은 데이터베이스 연결 시간입니다. ‘connect_timeout’ 경과 후의 연결 요청은 거부됩니다. 이 값이 너무 작으면 데이터베이스 연결이 자주 닫혀 처리 효율성에 영향을 줍니다. 따라서 10보다 큰 값을 설정하는 것이 좋습니다.
유사한 오류가 발생하면 다음과 같이 수정하십시오.
1. 원본 데이터베이스에 로그인합니다.
2. ‘connect_timeout’ 매개변수를 수정합니다.
set global connect_timeout = 10
3. 매개변수가 성공적으로 수정되었는지 확인합니다.
show global variables like '%connect_timeout%';
시스템에서 다음과 유사한 결과가 표시되어야 합니다.
mysql> show global variables like '%connect_timeout%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| connect_timeout | 10 |
+------------------------+-------+
1 row in set (0.00 sec)
4. 확인 작업을 다시 실행합니다.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백