다음을 통해 공유


Azure Database for MySQL 가져오기 CLI를 사용하여 Azure Database for MySQL - 단일 서버를 유연한 서버로 마이그레이션

적용 대상: Azure Database for MySQL - 단일 서버

Azure Database for MySQL 가져오기 CLI(일반 공급)를 사용하면 Azure Database for MySQL - 단일 서버를 유연한 서버로 원활하게 마이그레이션할 수 있습니다. 스냅샷 백업을 사용하고 원본 서버의 물리적 데이터 파일을 대상 서버로 복원하는 간단하고 빠른 마이그레이션 경로를 제공하는 기술을 복원합니다. 가져오기 작업 후에는 가격 및 성능 향상, 데이터베이스 구성에 대한 세부적인 제어 및 사용자 지정 유지 관리 기간을 포함하여 유연한 서버의 이점을 활용할 수 있습니다.

사용자 입력에 따라, 대상 유연한 서버를 프로비전한 다음 원본 서버의 백업을 수행하고 대상을 복원해야 합니다. 데이터 파일, 서버 매개 변수, 호환되는 방화벽 규칙 및 서버 속성(계층, 버전, sku 이름, 스토리지 크기, 위치, 지역 중복 백업, 공용 액세스, 태그, 자동 증가, 백업 보존일, 관리자-사용자 및 관리자 암호)을 단일 서버 인스턴스에서 유연한 서버 인스턴스로 복사합니다.

Azure Database for MySQL 가져오기 CLI는 먼저 오프라인 가져오기 작업을 수행하여 가동 중지 시간이 거의 0에 가까운 마이그레이션을 지원하며, 따라서 사용자는 원본과 대상 간에 입력 데이터 복제를 설정하여 온라인 마이그레이션을 수행할 수 있습니다.

이 자습서에서는 Azure Database for MySQL 가져오기 CLI 명령을 사용하여 Azure Database for MySQL 단일 서버를 유연한 서버로 마이그레이션하는 방법을 보여 줍니다.

새로운 기능

  • 이제 레거시 스토리지 아키텍처(범용 스토리지 V1)를 사용하는 단일 서버에 대한 Azure Database for MySQL 가져오기 작업이 지원됩니다. 가져오기 작업을 시작하기 전에 레거시 스토리지를 사용하여 단일 서버 인스턴스에 대한 매개 변수 log_bin=ON을 설정해야 합니다. 이렇게 하려면 단일 서버 인스턴스에 대한 읽기 복제본을 만든 다음 삭제합니다. 이 작업은 매개 변수 log_bin ON으로 설정한 다음 가져오기 작업을 트리거하여 유연한 서버로 마이그레이션할 수 있습니다. (2024년 2월)

Azure Cloud Shell 시작

Azure Cloud Shell은 이 문서의 단계를 실행하는 데 무료로 사용할 수 있는 대화형 셸입니다. 공용 Azure 도구가 사전 설치되어 계정에서 사용하도록 구성되어 있습니다.

Cloud Shell을 열려면 코드 블록의 오른쪽 위 모서리에 있는 사용해 보세요를 선택합니다. 또한 https://shell.azure.com/bash로 이동하여 별도의 브라우저 탭에서 Cloud Shell을 열 수도 있습니다. 복사를 선택하여 코드 블록을 복사하여 Cloud Shell에 붙여넣고, Enter를 선택하여 실행합니다.

이 자습서에서 CLI를 로컬로 설치하여 사용하려면 Azure CLI 버전 2.54.0 이상이 필요합니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

설정

az sign-in 명령을 사용하여 계정에 로그인해야 합니다. Subscription ID를 참조하는 id 속성에 유의합니다.

az login

az account set 명령을 사용하여 원본 Azure Database for MySQL - 단일 서버가 계정 아래에 있는 특정 구독을 선택합니다. 명령에서 subscription 인수 값으로 사용할 az login 출력의 id 값에 유의합니다. 여러 구독이 있는 경우 원본 Azure Database for MySQL - 단일 서버가 있는 적절한 구독을 선택합니다. 모든 구독을 가져오려면 az account list를 사용합니다.

az account set --subscription <subscription id>

제한 사항 및 필수 구성 요소

  • 원본 Azure Database for MySQL 단일 서버에 엔진 버전 v8.x가 있는 경우 유연한 서버로 마이그레이션 후 인코딩 비호환성을 방지하기 위해 원본 서버의 .NET 클라이언트 드라이버 버전을 8.0.32로 업그레이드해야 합니다.

  • 원본 Azure Database for MySQL - 단일 서버 및 대상 Azure Database for MySQL - 유연한 서버는 동일한 구독, 리소스 그룹, 지역 및 동일한 MySQL 버전에 있어야 합니다. 구독, 리소스 그룹, 지역 및 버전 간에 가져오기 작업은 지원되지 않습니다.

  • Azure Database for MySQL 가져오기 CLI에서 지원하는 MySQL 버전은 5.7 및 8.0입니다. 단일 서버의 다른 주요 MySQL 버전에 있는 경우 가져오기 명령을 트리거하기 전에 단일 서버 인스턴스에서 버전을 업그레이드해야 합니다.

  • Azure Database for MySQL - 단일 서버 인스턴스에 'lower_case_table_names' 서버 매개 변수가 2로 설정되어 있고 애플리케이션에서 파티션 테이블을 사용한 경우 가져오기 작업으로 인해 파티션 테이블이 손상됩니다. 손상 없는 MySQL 가져오기 작업을 진행하기 위해 Azure Database for MySQL - 단일 서버 인스턴스에 대해 'lower_case_table_names'를 1로 설정하는 것이 좋습니다.

  • 기존 Azure MySQL 유연한 서버로 가져오기 작업은 지원되지 않습니다. CLI 명령은 새 Azure MySQL 유연한 서버 가져오기를 시작합니다.

  • CLI 명령 매개 변수를 업데이트할 때 유연한 대상 서버가 비 HA(고가용성 사용 안 함)로 프로비전되는 경우 나중에 영역 중복 HA가 아닌 동일 영역 HA로 전환할 수 있습니다.

  • CMK 지원 단일 서버 인스턴스의 경우, Azure Database for MySQL 가져오기 명령을 사용하려면 대상 유연한 서버에서 CMK를 사용하도록 설정하기 위한 필수 입력 매개 변수를 제공해야 합니다.

  • 단일 서버 인스턴스에 '인프라 이중 암호화'가 사용하도록 설정된 경우 대상 유연한 서버 인스턴스에서 CMK(고객 관리형 키)를 사용하도록 설정하여 유사한 기능을 지원하는 것이 좋습니다. Azure Database for MySQL 가져오기 CLI 입력 매개 변수를 사용하는 대상 서버에서 또는 마이그레이션 후에도 CMK를 사용하도록 선택할 수 있습니다.

  • 단일 서버 인스턴스에 '쿼리 저장소'를 사용하도록 설정한 경우 대상 유연한 서버 인스턴스에서 느린 쿼리 로그를 사용하도록 설정하는 것이 유사한 기능을 지원하는 것이 좋습니다. 여기에서 다음 단계를 수행하여 대상 유연한 서버에서 느린 쿼리 로그를 구성할 수 있습니다. 그런 다음, 통합 문서 템플릿을 사용하여 쿼리 인사이트를 볼 수 있습니다.

  • 단일 서버 인스턴스에 레거시 스토리지 아키텍처(범용 스토리지 V1)가 있는 경우 가져오기 작업을 시작하기 전에 단일 서버 인스턴스에 대한 매개 변수 log_bin=ON을 설정해야 합니다. 이렇게 하려면 단일 서버 인스턴스에 대한 읽기 복제본을 만든 다음 삭제합니다. 이 작업은 매개 변수 log_bin ON으로 설정한 다음 가져오기 작업을 트리거하여 유연한 서버로 마이그레이션할 수 있습니다.

  • 단일 서버 인스턴스에 Advanced Threat Protection이 활성화된 경우 마이그레이션 후 마이그레이션된 유연한 서버 인스턴스에서 Advanced Threat Protection을 활성화해야 합니다. [이 단계](/azure/mysql/flexible-server/advanced-threat-protection-setting?view=azure-cli-latest)를 따르세요.

  • 단일 서버 인스턴스에 엔진 버전 v8.0이 있는 경우 단일 서버 인스턴스와 유연한 서버 인스턴스 간의 커뮤니티 부 버전 차이로 인해 호환성이 손상되는 변경을 방지하려면 다음 작업을 수행하는 것이 좋습니다.

    • 다음 문을 실행하여 인스턴스가 잘못된 히스토그램 정보의 영향을 받을 수 있는지 확인합니다. 해당 테이블이 출력되는 경우 https://dev.mysql.com/blog-archive/histogram-statistics-in-mysql/(을)를 참조하여 히스토그램 정보를 삭제한 다음 유연한 서버에서 다시 만드는 것이 좋습니다. 히스토그램 inf'는 열에 대한 통계 정보일 뿐이며 이 정보는 시스템 테이블에만 존재하므로 히스토그램 정보를 삭제해도 테이블 데이터에는 영향을 미치지 않습니다.

          SELECT DISTINCT SCHEMA_NAME, TABLE_NAME FROM `information_schema`.`column_statistics`;
      
    • 다음 명령을 실행하여 테이블 열 순서가 해제될 수 있는 테이블을 확인합니다. 이 검사에서 영향을 받는 테이블을 식별하는 경우 이러한 테이블의 모든 데이터를 덤프한 다음 다시 가져와야 합니다. 이렇게 하지 않으면 binlog의 열 시퀀스가 사용자 테이블의 열 시퀀스와 일치하지 않을 수 있습니다. 이러한 불일치로 인해 사용자가 복제 설정, 데이터 복원, HA(고가용성) 및 기타 작업을 수행할 수 없습니다.

          SELECT table_schema, table_name, COUNT(*) AS column_count, MAX(ORDINAL_POSITION) AS max_ordinal_position
          FROM information_schema.columns
          GROUP BY table_schema, table_name
          HAVING column_count != max_ordinal_position;
      
  • 인스턴스 수준 가져오기만 지원됩니다. 인스턴스 내에서 선택한 데이터베이스를 가져오는 옵션이 제공되지 않습니다.

  • 아래 항목은 가져오기 작업 후 사용자가 원본에서 대상으로 복사해야 합니다.

    • 읽기 복제본
    • 모니터링 페이지 설정(경고, 메트릭 및 진단 설정)
    • 단일 서버 인스턴스를 관리하기 위해 호스팅하는 모든 Terraform/CLI 스크립트는 유연한 서버 참조로 업데이트되어야 합니다.

Azure Database for MySQL 가져오기 작업을 트리거하여 Azure Database for MySQL - 단일 서버에서 유연한 서버로 마이그레이션

az mysql flexible-server import create 명령을 사용하여 Azure Database for MySQL 가져오기 작업을 트리거합니다. 다음 명령은 대상 유연한 서버를 만들고 서비스 기본값 및 Azure CLI의 로컬 컨텍스트의 값을 사용하여 원본에서 대상 대상으로 인스턴스 수준 가져오기를 수행합니다.

az mysql flexible-server import create --data-source-type
                                --data-source
                                --resource-group
                                --name
                                [--sku-name]
                                [--tier]
                                [--version]
                                [--storage-size]
                                [--mode]
                                [--admin-password]
                                [--admin-user]
                                [--auto-scale-iops {Disabled, Enabled}]
                                [--backup-identity]
                                [--backup-key]
                                [--backup-retention]
                                [--database-name]
                                [--geo-redundant-backup {Disabled, Enabled}]
                                [--high-availability {Disabled, SameZone, ZoneRedundant}]
                                [--identity]
                                [--iops]
                                [--key]
                                [--location]
                                [--private-dns-zone]
                                [--public-access]
                                [--resource-group]
                                [--standby-zone]
                                [--storage-auto-grow {Disabled, Enabled}]
                                [--subnet]
                                [--subnet-prefixes]
                                [--tags]
                                [--vnet]
                                [--zone]

다음 예제에서는 'test-single-server'라는 단일 서버에 대한 데이터 원본 정보와 대상 유연한 서버 정보를 사용하고 westus 위치(원본 단일 서버와 동일한 위치)에 test-flexible-server라는 대상 유연한 서버를 만들고 원본에서 대상으로 가져오기를 수행합니다. Azure Database MySQL 가져오기 명령은 CLI 명령에 입력이 제공되지 않는 경우 해당 계층, 버전, sku 이름, 스토리지 크기, 위치, 지역 중복 백업, 공용 액세스, 태그, 자동 증가, 백업 보존 일, 관리자-사용자 및 관리자 암호 속성에 대해 스마트 기본값으로 단일 서버에서 유연한 서버로 매핑합니다. 이러한 선택적 매개 변수에 대한 입력을 제공하여 스마트 기본값을 재정의하도록 선택할 수 있습니다.

az mysql flexible-server import create --data-source-type "mysql_single" --data-source "test-single-server" --resource-group "test-rg"  --name "test-flexible-server"

다음 예제에서는 'test-single-server'라는 단일 서버에 대한 데이터 원본 정보와 대상 유연한 서버 정보를 가져오고, 영역 중복을 사용하도록 설정되고 가상 네트워크 통합 기능이 있는 westus 위치(원본 단일 서버와 동일한 위치)에 test-flexible-server라는 대상 유연한 서버를 만들고 원본에서 대상으로 가져오기를 수행합니다. 여기에서 가상 네트워크 구성에 대해 자세히 알아보세요.

# create vnet
az network vnet create --resource-group testGroup --name myVnet --location testLocation --address-prefixes 172.0.0.0/16

# create subnet
az network vnet subnet create --resource-group testGroup --vnet-name myVnet --address-prefixes 172.0.0.0/24 --name mySubnet

# create private dns zone
az network private-dns zone create -g testGroup -n myserver.private.contoso.com

# trigger mysql import
az mysql flexible-server import create --data-source-type "mysql_single" --data-source "test-single-server" --resource-group "test-rg"  --name "test-flexible-server" --high-availability ZoneRedundant --zone 1 --standby-zone 3  --vnet "myVnet" --subnet "mySubnet" --private-dns-zone "myserver.private.contoso.com"

다음 예제에서는 CMK(고객 관리형 키)를 사용하도록 설정된 'test-single-server'라는 단일 서버에 대한 데이터 원본 정보와 대상 유연한 서버 정보를 가져오고, test-flexible-server라는 대상 유연한 서버를 만들고, 원본에서 대상으로 가져오기를 수행합니다. CMK 지원 단일 서버 인스턴스의 경우, Azure Database for MySQL 가져오기 명령을 사용하려면 CMK를 사용하도록 설정하기 위한 필수 입력 매개 변수를 제공해야 합니다. --keyIdentifierOfTestKey --identity testIdentity.

# create keyvault
az keyvault create -g testGroup -n testVault --location testLocation \
  --enable-purge-protection true

# create key in keyvault and save its key identifier
keyIdentifier=$(az keyvault key create --name testKey -p software \
  --vault-name testVault --query key.kid -o tsv)

# create identity and save its principalId
identityPrincipalId=$(az identity create -g testGroup --name testIdentity \
  --location testLocation --query principalId -o tsv)

# add testIdentity as an access policy with key permissions 'Wrap Key', 'Unwrap Key', 'Get' and 'List' inside testVault
az keyvault set-policy -g testGroup -n testVault --object-id $identityPrincipalId \
  --key-permissions wrapKey unwrapKey get list

# trigger azure database for mysql import for CMK enabled single server
az mysql flexible-server import create --data-source-type "mysql_single" --data-source "test-single-server" --resource-group "test-rg"  --name "test-flexible-server" --key $keyIdentifier --identity testIdentity

위의 인수에 대한 세부 정보는 다음과 같습니다.

설정 샘플 값 설명
data-source-type mysql_single Azure Database for MySQL 가져오기를 트리거하기 위한 원본 대상으로 사용되는 데이터 원본의 형식입니다. 허용되는 값: [mysql_single]. 허용되는 값에 대한 설명- mysql_single: Azure Database for MySQL 단일 서버.
data-source test-single-server 원본 Azure Database for MySQL 단일 서버의 이름 또는 리소스 ID입니다.
resource-group test-rg 원본 Azure Database for MySQL 단일 서버의 Azure 리소스 그룹의 이름입니다.
mode 오프라인 Azure Database for MySQL Import의 모드입니다. 허용되는 값: [Offline]; 기본값: Offline.
location westus 원본 Azure Database for MySQL 단일 서버의 Azure 위치입니다.
name test-flexible-server 대상 Azure Database for MySQL 유연한 서버의 고유한 이름을 입력합니다. 서버 이름은 소문자, 숫자 및 하이픈(-) 문자만 포함할 수 있으며, 3-63자여야 합니다. 참고: 이 서버는 원본과 동일한 구독, 리소스 그룹 및 지역에 배포됩니다.
admin-user adminuser 대상 Azure Database for MySQL 유연한 서버에 대한 관리자 로그인의 사용자 이름입니다. azure_superuser, admin, administrator, root, guest 또는 public을 사용할 수 없습니다.
admin-password password 대상 Azure Database for MySQL 유연한 서버에 대한 관리자 사용자의 암호입니다. 8-128자여야 합니다. 암호에는 영어 대문자, 영어 소문자, 숫자 및 영숫자가 아닌 문자의 세 범주에 해당하는 문자가 포함되어야 합니다.
sku-name GP_Gen5_2 대상 Azure Database for MySQL 유연한 서버에 대한 가격 책정 계층 및 컴퓨팅 구성의 이름을 입력합니다. {가격 책정 계층}{계산 세대}{vCores} 규칙을 축약형으로 따릅니다. 자세한 내용은 가격 책정 계층을 참조하세요.
계층 버스트 가능 대상 Azure Database for MySQL 유연한 서버의 컴퓨팅 계층입니다. 허용되는 값: Burstable, GeneralPurpose, MemoryOptimized, 기본값: Burstable.
public-access 0.0.0.0 대상 Azure Database for MySQL 유연한 서버에 대한 퍼블릭 액세스를 결정합니다. 허용된 IP 목록에 포함할 단일 IP 주소 또는 IP 주소 범위를 입력합니다. IP 주소 범위는 대시로 구분해야 하며 공백을 포함하지 않습니다. 0.0.0.0을 지정하면 Azure 내에 배포된 모든 리소스에서 공용으로 액세스하여 서버에 액세스할 수 있습니다. "None"으로 설정하면 서버가 퍼블릭 액세스 모드로 설정되지만 방화벽 규칙을 만들지는 않습니다.
VNet myVnet 새 가상 네트워크 또는 기존 가상 네트워크의 이름 또는 ID입니다. 다른 리소스 그룹 또는 구독의 vnet을 사용하려면 리소스 ID를 제공하세요. 이름은 2~64자 사이여야 합니다. 이름은 문자 또는 숫자로 시작하고 문자, 숫자 또는 밑줄로 끝나야 하며 문자, 숫자, 밑줄, 마침표 또는 하이픈만 포함할 수 있습니다.
subnet mySubnet 새 서브넷 또는 기존 서브넷의 이름 또는 리소스 ID입니다. 다른 리소스 그룹 또는 구독의 서브넷을 사용하려면 이름 대신 리소스 ID를 제공하세요. 서브넷은 flexibleServers에 위임됩니다. 위임 후에는 다른 유형의 Azure 리소스에 이 서브넷을 사용할 수 없습니다.
private-dns-zone myserver.private.contoso.com 신규 또는 기존 프라이빗 DNS 영역의 이름 또는 ID입니다. 동일한 리소스 그룹, 다른 리소스 그룹 또는 다른 구독의 프라이빗 DNS 영역을 사용할 수 있습니다. 다른 리소스 그룹 또는 구독의 영역을 사용하려면 리소스 ID를 제공하세요. 사용자가 제공하지 않는 경우 CLI는 가상 네트워크와 동일한 리소스 그룹 내에 새 프라이빗 DNS 영역을 만듭니다.
key testKey의 키 식별자 데이터 암호화를 위한 기본 keyvault 키의 리소스 ID입니다.
identity testIdentity 데이터 암호화를 위한 사용자 할당 ID의 이름 또는 리소스 ID입니다.
storage-size 32 대상 Azure Database for MySQL 유연한 서버의 스토리지 용량입니다. 최소값은 20GiB이고 최대값은 16TiB입니다.
tags key=value Azure 리소스 그룹의 이름을 입력합니다.
version 5.7 대상 Azure Database for MySQL 유연한 서버의 서버 주 버전입니다.
고가용성 ZoneRedundant 대상 Azure Database for MySQL 유연한 서버에 대해 고가용성 기능을 사용(ZoneRedundant 또는 SameZone)하거나 사용하지 않도록 설정합니다. 허용되는 값: Disabled, SameZone, ZoneRedundant, 기본값: Disabled.
영역 1 리소스를 프로비전할 가용성 영역입니다.
standby-zone 3 고가용성을 사용하는 경우 대기 서버의 가용성 영역 정보입니다.
storage-auto-grow Enabled 대상 Azure Database for MySQL 유연한 서버에 대한 스토리지의 자동 증가를 사용하거나 사용하지 않도록 설정합니다. 기본값은 Enabled입니다. 허용되는 값: Disabled, Enabled, 기본값: Enabled.
IOPS 500 대상 Azure Database for MySQL 유연한 서버에 할당할 IOPS 수입니다. 프로비전된 컴퓨팅 및 스토리지에 따라 일정량의 무료 IOPS를 얻을 수 있습니다. IOPS의 기본값은 무료 IOPS입니다. 컴퓨팅 및 스토리지를 기반으로 하는 IOPS에 대한 자세한 내용은 Azure Database for MySQL 유연한 서버의 IOPS를 참조하세요.

온라인 마이그레이션 단계

위에서 설명한 Azure Database for MySQL 가져오기 작업을 완료한 후:

  • 대상 Azure Database for MySQL 유연한 서버에 로그인하고 다음 명령을 실행하여 Azure Database for MySQL 가져오기 CLI에서 사용하는 백업 스냅샷에 해당하는 bin-log 파일 이름과 위치를 사용하여 대상 서버에 복원합니다.
CALL mysql.az_show_binlog_file_and_pos_for_mysql_import();
  • 여기에 표시된 단계를 따라 bin-log 위치를 사용하여 원본 및 대상 서버 인스턴스 간에 입력 데이터 복제를 설정하고 복제 상태가 대상 서버가 원본을 따라 잡았음을 반영하는 경우 복제를 중지하고 컷오버를 수행합니다.

Azure Database for MySQL Import CLI 명령 매개 변수를 구성하는 방법의 모범 사례

Azure Database for MySQL 가져오기 CLI 명령을 트리거하기 전에 다음 매개 변수 구성 지침을 고려하여 Azure Database for MySQL 가져오기 CLI를 사용하여 더 빠른 데이터 로드를 보장합니다.

  • 스마트 기본값을 재정의하려면 다음 표의 세부 정보에 따라 원본 단일 서버의 가격 책정 계층 및 VCore를 기반으로 대상 유연한 서버의 컴퓨팅 계층 및 SKU 이름을 선택합니다.

    단일 서버 가격 책정 계층 단일 서버 VCore 유연한 서버 계층 유연한 서버 SKU 이름
    Basic 1 버스트 가능 Standard_B1s
    Basic 2 버스트 가능 Standard_B2s
    범용 4 GeneralPurpose Standard_D4ds_v4
    범용 8 GeneralPurpose Standard_D8ds_v4
    범용 16 GeneralPurpose Standard_D16ds_v4
    범용 32 GeneralPurpose Standard_D32ds_v4
    범용 64 GeneralPurpose Standard_D64ds_v4
    메모리 최적화 4 MemoryOptimized Standard_E4ds_v4
    메모리 최적화 8 MemoryOptimized Standard_E8ds_v4
    메모리 최적화 16 MemoryOptimized Standard_E16ds_v4
    메모리 최적화 32 MemoryOptimized Standard_E32ds_v4
  • 대상 유연한 서버에 대한 MySQL 버전, 지역, 구독 및 리소스는 원본 단일 서버와 같아야 합니다.

  • 대상 유연한 서버의 스토리지 크기는 원본 단일 서버보다 크거나 같아야 합니다.

  • 단일 서버 인스턴스에 '인프라 이중 암호화'가 사용하도록 설정된 경우 대상 유연한 서버 인스턴스에서 CMK(고객 관리형 키)를 사용하도록 설정하여 유사한 기능을 지원하는 것이 좋습니다. Azure Database for MySQL 가져오기 CLI 입력 매개 변수를 사용하는 대상 서버에서 또는 마이그레이션 후에도 CMK를 사용하도록 선택할 수 있습니다.

Azure Database for MySQL 가져오기에서 단일 서버 인스턴스를 마이그레이션하는 데 얼마나 걸리나요?

다음은 범용 V2 스토리지 아키텍처의 스토리지 크기에 따라 벤치마킹된 성능입니다. (범용 V1 스토리지가 있는 서버는 스토리지 아키텍처 업그레이드도 포함하기 때문에 마이그레이션하는 데 시간이 더 오래 걸립니다.)

단일 서버 스토리지 크기 가져오기 시간
1GiB 0분 23초
10GiB 4분 24초
100GiB 10분 29초
500GiB 13분 15초
1TB 22분 56초
10TB 2시간 5분 30초

위의 표에서 스토리지 크기가 증가함에 따라 데이터 복사에 필요한 시간도 거의 선형 관계에서 증가합니다. 그러나 복사 속도는 네트워크 변동에 의해 크게 영향을 받을 수 있다는 점에 유의해야 합니다. 따라서 여기에 제공된 데이터는 참조로만 사용해야 합니다.

다음은 10GiB 스토리지 크기에 대한 다양한 테이블 수를 기준으로 벤치마킹된 성능입니다.

단일 서버 인스턴스의 테이블 수 가져오기 시간
100 4분 24초
200 4분 40초
800 4분 52초
14,400 17분 41초
28,800 19분 18초
38,400 22분 50초

파일 수가 증가함에 따라 데이터베이스의 각 파일/테이블이 매우 작아질 수 있습니다. 이로 인해 일관된 양의 데이터가 전송되지만 파일 관련 작업이 더 자주 수행되어 Azure Database for MySQL 가져오기의 성능에 영향을 줄 수 있습니다.

가져오기 후 단계

  • 원본 단일 서버에서 대상 유연한 서버로 다음 속성을 복사한 후 전체 마이그레이션 작업이 성공적으로 완료되었습니다.
    • 읽기 복제본
    • event_scheduler 서버 매개 변수 값
    • 모니터링 페이지 설정(경고, 메트릭 및 진단 설정)
    • 단일 서버 인스턴스를 관리하기 위해 호스팅하는 모든 Terraform/CLI 스크립트는 유연한 서버 참조로 업데이트되어야 합니다.

다음 단계