개요
데이터베이스를 Cloud SQL로 마이그레이션하기 전에 이 마이그레이션 시나리오의 알려진 제한사항을 고려해야 합니다.
MySQL 데이터베이스를 소스로 사용할 경우의 알려진 제한사항은 다음과 같습니다.
Percona XtraBackup 물리적 백업 파일을 사용하여 MySQL 5.6 또는 MySQL 8.4로 마이그레이션하는 것은 지원되지 않습니다.
주요 MySQL 버전 간에 마이그레이션할 때 (예: MySQL 8.0에서 MySQL 8.4로) 데이터 일관성 문제가 발생하지 않도록 원활하게 마이그레이션하려면 발생할 수 있는 비호환성을 해결해야 합니다.
교차 버전 이전을 준비할 때는 MySQL용 Cloud SQL에서 지원하는 기능과 대상 주 버전의 출시 노트를 검토하여 해결해야 할 비호환성을 파악합니다.
전체 데이터 덤프 단계 중에 테이블 정의 수정과 같은 데이터 정의 언어 (DDL) 변경을 수행하지 마세요. 마이그레이션 작업이 CDC 단계로 이동하기 전에 실행된 DDL 변경사항으로 인해 마이그레이션 작업이 실패할 수 있습니다. 자세한 내용은 문제 진단:
Table definition has changed
오류를 참고하세요.소스가 Amazon RDS MySQL, Amazon Aurora MySQL 또는 SUPERUSER 권한을 부여하지 않는 소스인 경우 소스의 짧은 쓰기 다운타임을 포함하여 추가 단계를 수행해야 마이그레이션을 완료할 수 있습니다. 자세한 내용은 Amazon RDS 관련 및 Amazon Aurora 관련 섹션을 참고하세요.
데이터베이스 이전 서비스는 MySQL 데이터베이스 클러스터의 Amazon Aurora 읽기 복제본 인스턴스에서 데이터를 이전할 수 없습니다. 인스턴스에서 바이너리 로그 파일을 가져올 수 없기 때문입니다. 자세한 내용은 Amazon Aurora 관련 섹션을 참고하세요.
MySQL 시스템 데이터베이스는 서버 이전의 일부로 마이그레이션되지 않으므로 사용자 역할에 관한 정보가 포함되지 않습니다.
Database Migration Service를 사용하여 이전할 때는 특정 데이터베이스 객체 (예: 데이터베이스, 테이블, 스키마)를 선택할 수 없습니다.
mysql
,performance_schema
,information_schema
,sys
시스템 스키마를 제외한 모든 데이터베이스 및 스키마의 모든 테이블이 마이그레이션됩니다. 마이그레이션을 시작하기 전에 소스 데이터베이스에 이러한 스키마의 테이블을 참조하는 객체가 포함되어 있지 않은지 확인합니다. 그러지 않으면 이전이ERROR 1109 (42S02): Unknown table in <schema name here>
메시지와 함께 실패할 수 있습니다. 소스 데이터베이스 구성 및 문제 진단을 참고하세요.암호화된 데이터베이스의 정보를 복호화하는 데 고객 관리 암호화 키가 필요한 경우, 그리고 Database Migration Service에 키에 대한 액세스 권한이 없는 경우 데이터베이스를 마이그레이션할 수 없습니다.
Database Migration Service는 암호화된 Amazon Aurora 또는 Amazon RDS 데이터베이스에서 데이터를 마이그레이션하는 것을 지원합니다. 이러한 데이터베이스는 서비스에서 암호화 해제를 투명하게 처리하기 때문입니다. 자세한 내용은 Amazon Aurora 리소스 암호화 및 Amazon RDS 리소스 암호화를 참고하세요.
마이그레이션 중에는 대상 Cloud SQL 데이터베이스가 읽기 전용 모드로 전환되어 마이그레이션 프로세스 또는 데이터 무결성을 손상시킬 수 있는 데이터베이스 수정이 방지됩니다. 대상이 승격되면 쓸 수 있게 됩니다.
현재 Database Migration Service는 MariaDB와 호환되지 않습니다.
바이너리 로그 형식을
ROW
로 설정해야 합니다. 바이너리 로그를STATEMENT
또는MIXED
와 같은 다른 형식으로 구성하면 복제가 실패할 수 있습니다. 예를 들어LOAD DATA IN FILE
문을 사용합니다.자체 덤프 파일을 사용하여 연속 이전 작업을 만드는 경우 MySQL 버전 5.7.36의
mysqldump
유틸리티를 사용하지 마세요. 자세한 내용은 MySQL 문서의 버그 #105761을 참고하세요.InnoDB는 Cloud SQL에서 유일하게 지원되는 스토리지 엔진입니다. MyISAM을 사용하여 마이그레이션하면 데이터 불일치가 발생할 수 있으므로 데이터 유효성을 검사해야 합니다. MyISAM에서 InnoDB로 테이블을 변환하는 데 도움이 필요하면 MySQL 문서를 참고하세요.
데이터 덤프 동시 로드 고려사항
데이터 덤프 병렬 처리를 사용하면 고성능 덤프 메커니즘을 사용하여 MySQL 데이터베이스에서 마이그레이션할 수 있으므로 마이그레이션 속도가 크게 향상됩니다. 데이터 덤프 동시 로드를 사용할 때는 다음 사항을 고려하세요.
데이터 덤프 병렬 처리는 현재 MySQL 버전 5.7 또는 8로 마이그레이션할 때만 사용할 수 있습니다.
데이터 덤프가 시작되면 Database Migration Service는 소스 데이터베이스를 잠궈 일시적으로 쓰기를 사용할 수 없게 만듭니다. 잠금 기간은 소스 데이터베이스의 테이블 수에 따라 다릅니다.
테이블 수 예상 잠금 시간 100 1초 10K 9초 50K 49초
기존 대상 인스턴스로의 이전 제한사항
- 기존 대상 인스턴스는 비어 있거나 시스템 구성 데이터만 포함해야 합니다. 사용자 데이터 (예: 테이블)가 포함된 기존 대상 인스턴스로 이전하는 것은 지원되지 않습니다.
기존 대상 인스턴스에 추가 데이터로 인해 문제가 발생하면 대상 인스턴스의 데이터베이스를 삭제하고 마이그레이션 작업을 다시 시도합니다. 기존 대상 인스턴스에서 추가 데이터 지우기를 참고하세요.
- 대상 인스턴스당 하나의 마이그레이션 작업만 구성할 수 있습니다.
- 독립형 Cloud SQL 인스턴스로만 이전할 수 있습니다. 외부 서버 복제본으로의 이전은 지원되지 않습니다.
- Private Service Connect가 사용 설정된 Cloud SQL 인스턴스로는 데이터를 마이그레이션할 수 없습니다.
- 읽기 복제본이 있는 Cloud SQL 인스턴스로 이전하려면 소스 인스턴스에 전역 트랜잭션 ID (GTID) 로깅이 사용 설정되어 있어야 합니다.
- Terraform 사용자: Database Migration Service가 대상 인스턴스의 백업 및 복구 설정을 수정합니다. 이로 인해 대상 인스턴스 설정이 프로비저닝에 사용된 Terraform 구성과 다를 수 있습니다. 이 문제가 발생하면 문제 진단의 안내를 따르세요.
할당량
- 어느 시점에든지 최대 2,000개의 연결 프로필과 1,000개의 마이그레이션 작업이 존재할 수 있습니다. 더 많은 항목을 위한 여유 공간을 확보하려면 마이그레이션 작업 (완료된 작업 포함) 및 연결 프로필을 삭제할 수 있습니다.