Migrowanie usługi Azure Database for MySQL — pojedynczy serwer do serwera elastycznego przy użyciu interfejsu wiersza polecenia importowania usługi Azure Database for MySQL

DOTYCZY: Azure Database for MySQL — pojedynczy serwer

Interfejs wiersza polecenia importowania usługi Azure Database for MySQL (ogólnie dostępny) umożliwia bezproblemową migrację usługi Azure Database for MySQL — pojedynczy serwer do serwera elastycznego. Używa technologii tworzenia i przywracania kopii zapasowych migawek w celu zaoferowania prostej i szybkiej ścieżki migracji w celu przywrócenia fizycznych plików danych serwera źródłowego na serwer docelowy. Po operacji importowania możesz skorzystać z zalet serwera elastycznego, w tym lepszej ceny i wydajności, szczegółowej kontroli nad konfiguracją bazy danych i niestandardowych okien obsługi.

Na podstawie danych wejściowych użytkownika zajmuje się aprowizowaniem docelowego serwera elastycznego, a następnie utworzeniem kopii zapasowej serwera źródłowego i przywróceniem obiektu docelowego. Kopiuje pliki danych, parametry serwera, zgodne reguły zapory i właściwości serwera — warstwa, wersja, sku-name, rozmiar magazynu, lokalizacja, geograficznie nadmiarowa kopia zapasowa, dostęp publiczny, tagi, automatyczne zwiększanie, przechowywanie kopii zapasowych dni, administrator-użytkownik i hasło administratora z pojedynczego do wystąpienia serwera elastycznego.

Interfejs wiersza polecenia importu usługi Azure Database for MySQL obsługuje migrację niemal zerowego przestoju, wykonując najpierw operację importowania w trybie offline, a w związku z tym użytkownicy mogą skonfigurować replikację danych między źródłem a obiektem docelowym w celu przeprowadzenia migracji online.

W tym samouczku pokazano, jak przeprowadzić migrację pojedynczego serwera usługi Azure Database for MySQL do serwera elastycznego za pomocą polecenia interfejsu wiersza polecenia importowania usługi Azure Database for MySQL.

Co nowego?

  • Operacja importowania usługi Azure Database for MySQL dla pojedynczych serwerów ze starszą architekturą magazynu (magazyn ogólnego przeznaczenia w wersji 1) jest teraz obsługiwana. Przed zainicjowaniem operacji importowania należy ustawić parametr log_bin=ON dla wystąpienia pojedynczego serwera ze starszym magazynem. W tym celu utwórz replikę do odczytu dla wystąpienia pojedynczego serwera, a następnie usuń ją. Ta operacja spowoduje ustawienie parametru log_bin na WŁ., a następnie można wyzwolić operację importowania w celu przeprowadzenia migracji na serwer elastyczny. (Luty 2024)

Uruchamianie usługi Azure Cloud Shell

Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której można użyć do wykonania kroków opisanych w tym artykule. Udostępnia ona wstępnie zainstalowane i najczęściej używane narzędzia platformy Azure, które są skonfigurowane do użycia na koncie.

Aby otworzyć usługę Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Możesz również otworzyć usługę Cloud Shell na osobnej karcie przeglądarki, przechodząc do .https://shell.azure.com/bash Wybierz pozycję Kopiuj , aby skopiować bloki kodu, wklej go w usłudze Cloud Shell, a następnie wybierz klawisz Enter , aby go uruchomić.

Jeśli wolisz zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.54.0 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Ustawienia

Musisz zalogować się do swojego konta przy użyciu polecenia az sign-in . Zanotuj właściwość id, która odnosi się do identyfikatora subskrypcji konta platformy Azure.

az login

Wybierz określoną subskrypcję, w której znajduje się źródłowa usługa Azure Database for MySQL — pojedynczy serwer, korzystając z polecenia az account set . Zanotuj wartość id z danych wyjściowych az login , aby użyć jako wartości argumentu subskrypcji w poleceniu . Jeśli masz wiele subskrypcji, wybierz odpowiednią subskrypcję, w której znajduje się źródłowa usługa Azure Database for MySQL — pojedynczy serwer. Aby uzyskać wszystkie subskrypcje, użyj polecenia az account list.

az account set --subscription <subscription id>

Ograniczenia i wymagania wstępne

  • Jeśli źródłowy pojedynczy serwer usługi Azure Database for MySQL ma wersję aparatu w wersji 8.x, upewnij się, że uaktualnij sterownik klienta .NET serwera źródłowego do wersji 8.0.32, aby uniknąć niezgodności kodowania po migracji do serwera elastycznego.

  • Źródłowa usługa Azure Database for MySQL — pojedynczy serwer i docelowy serwer usługi Azure Database for MySQL — serwer elastyczny muszą znajdować się w tej samej subskrypcji, grupie zasobów, regionie i w tej samej wersji bazy danych MySQL. Importowanie między subskrypcjami, grupami zasobów, regionami i wersjami nie jest możliwe.

  • Wersje programu MySQL obsługiwane przez interfejs wiersza polecenia importu usługi Azure Database for MySQL to 5.7 i 8.0. Jeśli korzystasz z innej głównej wersji programu MySQL na pojedynczym serwerze, pamiętaj o uaktualnieniu wersji w wystąpieniu pojedynczego serwera przed wyzwoleniem polecenia importu.

  • Jeśli wystąpienie usługi Azure Database for MySQL — pojedynczy serwer ma parametr "lower_case_table_names" ustawiony na 2, a aplikacja użyła tabel partycji, operacja importowania spowoduje uszkodzenie tabel partycji. Zaleca się ustawienie wartości "lower_case_table_names" na 1 dla wystąpienia usługi Azure Database for MySQL — pojedynczy serwer, aby kontynuować operację importowania bez uszkodzenia.

  • Importowanie do istniejącego serwera elastycznego Usługi Azure MySQL nie jest obsługiwane. Polecenie interfejsu wiersza polecenia inicjuje importowanie nowego serwera elastycznego Usługi Azure MySQL.

  • Jeśli elastyczny serwer docelowy jest aprowizowany jako niedostępny (wysoka dostępność wyłączona) podczas aktualizowania parametrów polecenia interfejsu wiersza polecenia, można go później przełączyć na tę samą strefę wysokiej dostępności, ale nie strefowo nadmiarową wysoką dostępność.

  • W przypadku wystąpień pojedynczego serwera z włączonym kluczem cmK polecenie Importowanie usługi Azure Database for MySQL wymaga podania obowiązkowych parametrów wejściowych do włączenia klucza cmK na docelowym serwerze elastycznym.

  • Jeśli wystąpienie pojedynczego serwera ma włączone podwójne szyfrowanie infrastruktury, włączenie klucza zarządzanego przez klienta (CMK) w docelowym wystąpieniu serwera elastycznego zaleca się obsługę podobnych funkcji. Możesz również włączyć klucz zarządzania kluczami na serwerze docelowym za pomocą parametrów wejściowych interfejsu wiersza polecenia importu usługi Azure Database for MySQL lub po migracji.

  • Jeśli w wystąpieniu pojedynczego serwera włączono opcję "Magazyn zapytań", zaleca się włączenie dzienników wolnych zapytań w docelowym wystąpieniu serwera elastycznego w celu obsługi podobnych funkcji. Dzienniki wolnych zapytań na docelowym serwerze elastycznym można skonfigurować, wykonując kroki opisane tutaj. Następnie możesz wyświetlić szczegółowe informacje o zapytaniach przy użyciu szablonu skoroszytów.

  • Jeśli wystąpienie pojedynczego serwera ma starszą architekturę magazynu (magazyn ogólnego przeznaczenia w wersji 1), należy ustawić parametr log_bin=ON dla wystąpienia pojedynczego serwera przed zainicjowanie operacji importowania. W tym celu utwórz replikę do odczytu dla wystąpienia pojedynczego serwera, a następnie usuń ją. Ta operacja spowoduje ustawienie parametru log_bin na WŁ., a następnie można wyzwolić operację importowania w celu przeprowadzenia migracji na serwer elastyczny.

  • Jeśli wystąpienie pojedynczego serwera ma wersję aparatu w wersji 8.0, rozważ wykonanie następujących akcji, aby uniknąć jakichkolwiek zmian powodujących niezgodność ze względu na różnice wersji pomocniczej społeczności między wystąpieniem pojedynczego i elastycznego serwera:

    • Uruchom następującą instrukcję, aby sprawdzić, czy wystąpienie może mieć wpływ na błędne informacje histogramu. Jeśli odpowiednie tabele są danymi wyjściowymi, zalecamy odwołanie się do https://dev.mysql.com/blog-archive/histogram-statistics-in-mysql/ usuwania informacji histogramu, a następnie ponownego utworzenia ich na serwerze elastycznym. Warto zauważyć, że histogram inf to tylko statystyczne informacje o kolumnach, a te informacje istnieją tylko w tabelach systemowych, więc usunięcie informacji histogramu nie wpłynie na dane tabeli.

          SELECT DISTINCT SCHEMA_NAME, TABLE_NAME FROM `information_schema`.`column_statistics`;
      
    • Uruchom następujące polecenie, aby sprawdzić tabele, które mogą mieć kolejność kolumn tabeli, które mogą być niezorganizowane. Jeśli to sprawdzenie identyfikuje wszystkie tabele, których dotyczy problem, należy zrzucić wszystkie dane z tych tabel, a następnie zaimportować je z powrotem. Niepowodzenie tej czynności może prowadzić do sekwencji kolumn w dzienniku binlogu, który nie pasuje do sekwencji kolumn w tabelach użytkownika. Ta rozbieżność może uniemożliwić użytkownikom konfigurowanie replikacji, przywracanie danych, włączanie wysokiej dostępności i innych operacji.

          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;
      
  • Obsługiwane jest tylko importowanie na poziomie wystąpienia. Nie jest dostępna opcja importowania wybranych baz danych w ramach wystąpienia.

  • Poniższe elementy powinny zostać skopiowane ze źródła do elementu docelowego przez użytkownika po operacji importowania:

    • Repliki do odczytu
    • Ustawienia strony monitorowania (alerty, metryki i ustawienia diagnostyczne)
    • Wszystkie skrypty programu Terraform/interfejsu wiersza polecenia hostowane przez Użytkownika w celu zarządzania wystąpieniem pojedynczego serwera powinny zostać zaktualizowane przy użyciu odwołań serwera elastycznego

Wyzwalanie operacji importowania usługi Azure Database for MySQL w celu migracji z usługi Azure Database for MySQL — pojedynczy serwer do serwera elastycznego

Wyzwól operację importowania usługi Azure Database for MySQL za az mysql flexible-server import create pomocą polecenia . Następujące polecenie tworzy docelowy serwer elastyczny i wykonuje importowanie na poziomie wystąpienia ze źródła do docelowego miejsca docelowego przy użyciu wartości domyślnych i wartości usługi z lokalnego kontekstu interfejsu wiersza polecenia platformy Azure:

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]

Poniższy przykład zawiera informacje o źródle danych dla pojedynczego serwera o nazwie "test-single-server" i docelowe informacje o serwerze elastycznym, tworzy docelowy serwer elastyczny o nazwie test-flexible-server w westus lokalizacji (tej samej lokalizacji co źródłowy pojedynczy serwer) i wykonuje importowanie ze źródła do miejsca docelowego. Polecenia importu usługi Azure Database MySQL są mapowane na odpowiednią warstwę, wersję, nazwę sku, rozmiar magazynu, lokalizację, geograficznie nadmiarową kopię zapasową, dostęp publiczny, tagi, automatyczne zwiększanie, przechowywanie kopii zapasowych w dniach, administrator-użytkownik i hasło administratora z pojedynczego serwera do serwera elastycznego jako inteligentne wartości domyślne, jeśli żadne dane wejściowe nie są dostarczane do polecenia interfejsu wiersza polecenia. Możesz zastąpić inteligentne wartości domyślne, podając dane wejściowe dla tych opcjonalnych parametrów.

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

Poniższy przykład zawiera informacje o źródle danych dla pojedynczego serwera o nazwie "test-single-server" i docelowe informacje o serwerze elastycznym, tworzy docelowy serwer elastyczny o nazwie test-flexible-server w westus lokalizacji (tej samej lokalizacji co źródłowy pojedynczy serwer) z włączoną nadmiarowością strefy i integracją sieci wirtualnej i wykonuje importowanie ze źródła do miejsca docelowego. Dowiedz się więcej o konfiguracji sieci wirtualnej tutaj.

# 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"

Poniższy przykład zawiera informacje o źródle danych dla pojedynczego serwera o nazwie "test-single-server" z włączonym kluczem zarządzanym przez klienta (CMK) i docelowymi informacjami o serwerze elastycznym, tworzy docelowy serwer elastyczny o nazwie test-flexible-server i wykonuje import ze źródła do miejsca docelowego. W przypadku wystąpień pojedynczego serwera z włączoną funkcją CMK polecenie Importowanie usługi Azure Database for MySQL wymaga podania obowiązkowych parametrów wejściowych na potrzeby włączania klucza 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

Poniżej przedstawiono szczegóły powyższych argumentów:

Ustawienie Wartość przykładowa Opis
typ źródła danych mysql_single Typ źródła danych, który służy jako źródło docelowe wyzwalania importu usługi Azure Database for MySQL. Zaakceptowane wartości: [mysql_single]. Opis akceptowanych wartości — mysql_single: Pojedynczy serwer usługi Azure Database for MySQL.
źródło danych test —pojedynczy serwer Nazwa lub identyfikator zasobu źródłowego pojedynczego serwera usługi Azure Database for MySQL.
resource-group test-rg Nazwa grupy zasobów platformy Azure źródłowego pojedynczego serwera usługi Azure Database for MySQL.
tryb W trybie offline Tryb importowania usługi Azure Database for MySQL. Zaakceptowane wartości: [Offline]; Wartość domyślna: Offline.
lokalizacja westus Lokalizacja platformy Azure dla źródłowego pojedynczego serwera usługi Azure Database for MySQL.
name test-elastyczny serwer Wprowadź unikatową nazwę docelowego serwera elastycznego usługi Azure Database for MySQL. Nazwa serwera może zawierać tylko małe litery, cyfry i znaki łącznika (-). Musi zawierać od 3 do 63 znaków. Uwaga: ten serwer jest wdrażany w tej samej subskrypcji, grupie zasobów i regionie co źródło.
admin-user adminuser Nazwa użytkownika logowania administratora dla docelowego serwera elastycznego usługi Azure Database for MySQL. Nie może to być azure_superuser, administrator, administrator, główny, gość lub publiczny.
admin-password Hasło Hasło użytkownika administratora dla docelowego serwera elastycznego usługi Azure Database for MySQL. Musi zawierać od 8 do 128 znaków. Hasło musi zawierać znaki z trzech kategorii: wielkie litery angielskie, małe litery angielskie, cyfry i znaki niefanumeryczne.
sku-name GP_Gen5_2 Wprowadź nazwę warstwy cenowej i konfiguracji obliczeniowej docelowej usługi Azure Database for MySQL — serwer elastyczny. Zgodnie z konwencją {warstwa cenowa}{generacja obliczeniowa}{rdzenie wirtualne} w skrócie. Aby uzyskać więcej informacji, zobacz warstwy cenowe.
warstwa Z możliwością zwielokrotnienia wydajności Warstwa obliczeniowa docelowego serwera elastycznego usługi Azure Database for MySQL. Akceptowane wartości: Burstable, GeneralPurpose, MemoryOptimized; Wartość domyślna: Możliwość serii.
dostęp publiczny 0.0.0.0 Określa publiczny dostęp dla docelowego serwera elastycznego usługi Azure Database for MySQL. Wprowadź pojedynczy lub zakres adresów IP, które mają być uwzględnione na liście dozwolonych adresów IP. Zakresy adresów IP muszą być oddzielone kreską i nie zawierają żadnych spacji. Określenie wartości 0.0.0.0.0 umożliwia dostęp publiczny z dowolnych zasobów wdrożonych na platformie Azure w celu uzyskania dostępu do serwera. Ustawienie go na wartość "Brak" ustawia serwer w trybie dostępu publicznego, ale nie tworzy reguły zapory.
vnet myVnet Nazwa lub identyfikator nowej lub istniejącej sieci wirtualnej. Jeśli chcesz użyć sieci wirtualnej z innej grupy zasobów lub subskrypcji, podaj identyfikator zasobu. Nazwa musi zawierać od 2 do 64 znaków. Nazwa musi zaczynać się literą lub cyfrą, kończyć literą, cyfrą lub podkreśleniami i może zawierać tylko litery, cyfry, podkreślenia, kropki lub łączniki.
podsieć mySubnet Nazwa lub identyfikator zasobu nowej lub istniejącej podsieci. Jeśli chcesz użyć podsieci z innej grupy zasobów lub subskrypcji, podaj identyfikator zasobu zamiast nazwy. Należy pamiętać, że podsieć zostanie delegowana do serwerów elastycznych. Po delegowaniu tej podsieci nie można używać dla żadnego innego typu zasobów platformy Azure.
prywatna strefa DNS myserver.private.contoso.com Nazwa lub identyfikator nowej lub istniejącej prywatnej strefy DNS. Możesz użyć prywatnej strefy DNS z tej samej grupy zasobów, innej grupy zasobów lub innej subskrypcji. Jeśli chcesz użyć strefy z innej grupy zasobów lub subskrypcji, podaj identyfikator zasobu. Interfejs wiersza polecenia tworzy nową prywatną strefę DNS w tej samej grupie zasobów co sieć wirtualna, jeśli nie jest udostępniana przez użytkowników.
key identyfikator klucza klucza testKey Identyfikator zasobu podstawowego klucza magazynu kluczy na potrzeby szyfrowania danych.
tożsamości testIdentity Nazwa lub identyfikator zasobu tożsamości przypisanej przez użytkownika na potrzeby szyfrowania danych.
storage-size 32 Pojemność magazynu docelowego serwera elastycznego usługi Azure Database for MySQL. Minimum to 20 GiB, a maksimum to 16 TiB.
tags key=value Podaj nazwę grupy zasobów platformy Azure.
version 5.7 Główna wersja serwera docelowej usługi Azure Database for MySQL — serwer elastyczny.
wysoka dostępność ZoneRedundant Włącz (ZoneRedundant lub SameZone) lub wyłącz funkcję wysokiej dostępności dla docelowego serwera elastycznego usługi Azure Database for MySQL. Zaakceptowane wartości: Disabled, SameZone, ZoneRedundant; Wartość domyślna: Wyłączone.
strefa 1 Strefa dostępności, do której należy aprowizować zasób.
strefa rezerwowa 3 Informacje o strefie dostępności serwera rezerwowego po włączeniu wysokiej dostępności.
automatyczne zwiększanie magazynu Włączona Włącz lub wyłącz automatyczne zwiększanie magazynu dla docelowego serwera elastycznego usługi Azure Database for MySQL. Wartość domyślna to Włączone. Zaakceptowane wartości: Wyłączone, Włączone; Wartość domyślna: Włączone.
Iops 500 Liczba operacji we/wy na sekundę, które mają zostać przydzielone dla docelowego serwera elastycznego usługi Azure Database for MySQL. Uzyskasz pewną ilość bezpłatnych operacji we/wy na sekundę na podstawie aprowizacji zasobów obliczeniowych i magazynu. Wartość domyślna liczby operacji we/wy na sekundę to bezpłatna wartość operacji we/wy na sekundę. Aby dowiedzieć się więcej na temat liczby operacji we/wy na sekundę opartych na obliczeniach i magazynie, zapoznaj się z tematem Liczba operacji we/wy na sekundę w usłudze Azure Database for MySQL — elastyczny serwer.

Kroki migracji online

Po wykonaniu powyższej operacji importowania usługi Azure Database for MySQL:

  • Zaloguj się do docelowego serwera elastycznego usługi Azure Database for MySQL i uruchom następujące polecenie, aby uzyskać nazwę pliku dziennika bin i pozycję odpowiadającą migawki kopii zapasowej używanej przez interfejs wiersza polecenia importu usługi Azure Database for MySQL w celu przywrócenia do serwera docelowego.
CALL mysql.az_show_binlog_file_and_pos_for_mysql_import();
  • Skonfiguruj replikację danych między wystąpieniami serwera źródłowego i docelowego przy użyciu pozycji bin-log, wykonując kroki wymienione w tym miejscu i gdy stan replikacji odzwierciedla, że serwer docelowy dogonił źródło, zatrzymaj replikację i przeprowadź migrację jednorazową.

Najlepsze rozwiązania dotyczące konfigurowania parametrów polecenia importowania interfejsu wiersza polecenia usługi Azure Database for MySQL

Przed wyzwoleniem polecenia interfejsu wiersza polecenia importowania usługi Azure Database for MySQL należy wziąć pod uwagę następujące wskazówki dotyczące konfiguracji parametrów, aby zapewnić szybsze ładowanie danych przy użyciu interfejsu wiersza polecenia importowania usługi Azure Database for MySQL.

  • Jeśli chcesz zastąpić inteligentne wartości domyślne, wybierz warstwę obliczeniową i nazwę jednostki SKU dla docelowego serwera elastycznego na podstawie warstwy cenowej pojedynczego serwera źródłowego i rdzeni wirtualnych na podstawie szczegółów w poniższej tabeli.

    Warstwa cenowa serwera pojedynczego Rdzenie wirtualne serwera pojedynczego Warstwa serwera elastycznego Nazwa jednostki SKU serwera elastycznego
    Podstawowy 1 Z możliwością zwielokrotnienia wydajności Standardowa_B1s
    Podstawowy 2 Z możliwością zwielokrotnienia wydajności Standard_B2s
    Ogólnego przeznaczenia 100 Ogólnego przeznaczenia Standard_D4ds_v4
    Ogólnego przeznaczenia 8 Ogólnego przeznaczenia Standard_D8ds_v4
    Ogólnego przeznaczenia 16 Ogólnego przeznaczenia Standard_D16ds_v4
    Ogólnego przeznaczenia 32 Ogólnego przeznaczenia Standard_D32ds_v4
    Ogólnego przeznaczenia 64 Ogólnego przeznaczenia Standard_D64ds_v4
    Optymalizacja pod kątem pamięci 100 MemoryOptimized Standard_E4ds_v4
    Optymalizacja pod kątem pamięci 8 MemoryOptimized Standard_E8ds_v4
    Optymalizacja pod kątem pamięci 16 MemoryOptimized Standard_E16ds_v4
    Optymalizacja pod kątem pamięci 32 MemoryOptimized Standard_E32ds_v4
  • Wersja programu MySQL, region, subskrypcja i zasób docelowego serwera elastycznego musi być równa wersji źródłowego pojedynczego serwera.

  • Rozmiar magazynu dla docelowego serwera elastycznego powinien być równy lub większy niż na źródłowym pojedynczym serwerze.

  • Jeśli wystąpienie pojedynczego serwera ma włączone podwójne szyfrowanie infrastruktury, włączenie klucza zarządzanego przez klienta (CMK) w docelowym wystąpieniu serwera elastycznego zaleca się obsługę podobnych funkcji. Możesz również włączyć klucz zarządzania kluczami na serwerze docelowym za pomocą parametrów wejściowych interfejsu wiersza polecenia importu usługi Azure Database for MySQL lub po migracji.

Jak długo trwa migrowanie wystąpienia pojedynczego serwera w usłudze Azure Database for MySQL?

Poniżej przedstawiono porównawczą wydajność na podstawie rozmiaru magazynu.

Rozmiar magazynu pojedynczego serwera Czas importowania
1 GiB 0 min 23 sek.
10 GiB 4 min 24 s
100 GiB 10 min 29 sek.
500 GiB 13 min 15 sek.
1 TB 22 min 56 s
10 TB 2 godz. 5 min 30 s

W powyższej tabeli wraz ze wzrostem rozmiaru magazynu czas wymagany do kopiowania danych również wzrasta, niemal w relacji liniowej. Należy jednak pamiętać, że szybkość kopiowania może mieć znaczący wpływ na wahania sieci. W związku z tym dane podane w tym miejscu powinny być traktowane tylko jako odwołanie.

Poniżej przedstawiono porównawczą wydajność opartą na różnej liczbie tabel dla 10 GiB rozmiaru magazynu.

Liczba tabel w wystąpieniu pojedynczego serwera Czas importowania
100 4 min 24 s
200 4 min 40 s
800 4 min 52 s
14,400 17 min 41 sek.
28,800 19 min 18 sek.
38,400 22 min 50 s

Wraz ze wzrostem liczby plików każdy plik/tabela w bazie danych może stać się bardzo mały. Spowoduje to spójną ilość przesyłanych danych, ale będzie częściej wykonywane operacje związane z plikami, co może mieć wpływ na wydajność importowania usługi Azure Database for Mysql.

Kroki po zaimportowania

  • Skopiuj następujące właściwości ze źródłowego pojedynczego serwera do docelowego serwera elastycznego po pomyślnym zakończeniu operacji importowania usługi Azure Database for MySQL:
    • Repliki do odczytu
    • Wartość parametru serwera dla event_scheduler
    • Ustawienia strony monitorowania (alerty, metryki i ustawienia diagnostyczne)
    • Wszystkie skrypty programu Terraform/interfejsu wiersza polecenia, które hostujesz w celu zarządzania wystąpieniem pojedynczego serwera, powinny zostać zaktualizowane przy użyciu odwołań serwera elastycznego.

Następne kroki