Samouczek: migrowanie bazy danych MySQL do usługi Azure Database for MySQL w trybie offline przy użyciu usługi DMS

Usługa Azure Database Migration Service umożliwia bezproblemową migrację z zewnętrznego wystąpienia programu MySQL do usługi Azure Database for MySQL z możliwością szybkiej migracji danych. W tym samouczku przeprowadzimy migrację przykładowej bazy danych z lokalnego wystąpienia programu MySQL 5.7 do usługi Azure Database for MySQL (wersja 5.7) przy użyciu działania migracji offline w usłudze Azure Database Migration Service. Mimo że w artykułach przyjęto założenie, że źródłem jest wystąpienie bazy danych MySQL i element docelowy usługi Azure Database for MySQL, można go użyć do migracji z jednej usługi Azure Database for MySQL do innej, zmieniając nazwę i poświadczenia serwera źródłowego. Ponadto migracja z serwerów MySQL w niższej wersji (w wersji 5.6 lub nowszej) do wyższych wersji jest również obsługiwana.

Uwaga

Aby zapoznać się ze skryptową wersją tego środowiska migracji opartą na programie PowerShell, zobacz skryptowa migracja w trybie offline do usługi Azure Database for MySQL.

Uwaga

Usługi Amazon Relational Database Service (RDS) dla baz danych MySQL i Amazon Aurora (oparte na bazie mySQL) są również obsługiwane jako źródła migracji.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Utwórz wystąpienie usługi DMS.
  • Utwórz projekt migracji MySQL w usłudze DMS.
  • Migrowanie schematu MySQL przy użyciu usługi DMS.
  • Uruchamianie migracji.
  • Monitoruj migrację.

Wymagania wstępne

Do ukończenia tego samouczka niezbędne są następujące elementy:

  • Posiadanie konta platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.

  • Mieć lokalną bazę danych MySQL w wersji 5.7. Jeśli nie, pobierz i zainstaluj program MySQL Community Edition 5.7.

  • Utwórz sieć wirtualną platformy Microsoft Azure dla usługi Azure Database Migration Service przy użyciu modelu wdrażania usługi Azure Resource Manager, który zapewnia łączność typu lokacja-lokacja z lokalnymi serwerami źródłowymi przy użyciu usługi ExpressRoute lub sieci VPN. Aby uzyskać więcej informacji na temat tworzenia sieci wirtualnej, zobacz dokumentację sieci wirtualnej, a zwłaszcza artykuły Szybki start ze szczegółowymi informacjami krok po kroku.

    Uwaga

    Podczas konfigurowania sieci wirtualnej, jeśli używasz usługi ExpressRoute z komunikacją równorzędną sieciową z firmą Microsoft, dodaj następujące punkty końcowe usługi do podsieci , w której będzie aprowizowana usługa:

    • Punkt końcowy docelowej bazy danych (np. punkt końcowy usługi SQL, punkt końcowy usługi Azure Cosmos DB)
    • Punkt końcowy magazynu
    • Punkt końcowy magistrali usług

    Taka konfiguracja jest konieczna, ponieważ usługa Azure Database Migration Service nie ma łączności z Internetem.

  • Upewnij się, że reguły sieciowej grupy zabezpieczeń sieci wirtualnej nie blokują portu wychodzącego 443 elementu ServiceTag dla usług ServiceBus, Storage i AzureMonitor. Aby uzyskać więcej informacji na temat filtrowania ruchu sieciowej grupy zabezpieczeń sieci wirtualnej, zapoznaj się z artykułem Filtrowanie ruchu sieciowego przy użyciu sieciowych grup zabezpieczeń.

  • Otwórz zaporę systemu Windows, aby zezwolić na połączenia z usługi Virtual Network for Azure Database Migration Service w celu uzyskania dostępu do źródłowego serwera MySQL, który domyślnie jest portem TCP 3306.

  • W przypadku korzystania z urządzenia zapory przed źródłowymi bazami danych może być konieczne dodanie reguł zapory w celu zezwolenia na połączenia z sieci wirtualnej dla usługi Azure Database Migration Service w celu uzyskania dostępu do źródłowych baz danych na potrzeby migracji.

  • Utwórz regułę zapory na poziomie serwera lub skonfiguruj punkty końcowe usługi sieci wirtualnej dla docelowej usługi Azure Database for MySQL, aby umożliwić usłudze Virtual Network dla usługi Azure Database Migration Service dostęp do docelowych baz danych.

  • Źródłowy serwer MySQL musi znajdować się w obsługiwanej bazie danych MySQL Community Edition. Aby określić wersję instancji programu MySQL, w narzędziu MySQL lub środowisku roboczym bazy danych MySQL uruchom następujące polecenie:

    SELECT @@version;
    
  • Usługa Azure Database for MySQL obsługuje wyłącznie tabele InnoDB. Aby przekonwertować tabele MyISAM na format InnoDB, zapoznaj się z artykułem Konwertowanie tabel z formatu MyISAM na InnoDB

  • Użytkownik musi mieć uprawnienia do odczytywania danych w źródłowej bazie danych.

  • Aby pomyślnie przeprowadzić migrację, na serwerze źródłowym użytkownik wykonujący migrację powinien mieć następujące uprawnienia:

Ustalanie rozmiaru docelowego wystąpienia usługi Azure Database for MySQL

Aby przygotować docelowy serwer usługi Azure Database for MySQL na potrzeby szybszego ładowania danych przy użyciu usługi Azure Database Migration Service, zalecane są następujące parametry serwera i zmiany konfiguracji.

  • max_allowed_packet — ustaw wartość 1073741824 (tj. 1 GB), aby zapobiec wszelkim problemom z połączeniem z powodu dużych wierszy.

  • slow_query_log — ustaw wartość OFF, aby wyłączyć dziennik wolnych zapytań. Spowoduje to wyeliminowanie narzutów spowodowanych powolnym rejestrowaniem zapytań podczas ładowania danych.

  • query_store_capture_mode — ustaw wartość NONE, aby wyłączyć magazyn zapytań. Spowoduje to wyeliminowanie obciążenia spowodowanego przez działania próbkowania przez magazyn zapytań.

  • innodb_buffer_pool_size — Innodb_buffer_pool_size można zwiększyć tylko przez skalowanie w górę zasobów obliczeniowych dla serwera usługi Azure Database for MySQL. Skaluj w górę serwer do 64 jednostek SKU ogólnego przeznaczenia z warstwy cenowej portalu podczas migracji, aby zwiększyć innodb_buffer_pool_size.

  • innodb_io_capacity i innodb_io_capacity_max — zmień wartość na 9000 z parametrów serwera w witrynie Azure Portal, aby zwiększyć wykorzystanie operacji we/wy w celu zoptymalizowania pod kątem szybkości migracji.

  • innodb_write_io_threads i innodb_write_io_threads — zmień wartość na 4 z parametrów serwera w witrynie Azure Portal, aby zwiększyć szybkość migracji.

  • Skalowanie w górę warstwy magazynowania — liczba operacji we/wy na sekundę dla serwera usługi Azure Database for MySQL zwiększa się stopniowo wraz ze wzrostem warstwy magazynu.

    • W przypadku opcji wdrażania pojedynczego serwera w celu szybszego ładowania zalecamy zwiększenie warstwy magazynowania, by zwiększyć liczbę operacji we/wy na sekundę.
    • W opcji wdrażania serwera elastycznego zalecamy skalowanie (zwiększanie lub zmniejszanie) liczby operacji we/wy na sekundę niezależnie od rozmiaru magazynu.
    • Pamiętaj, że wielkość magazynu może być skalowana tylko w górę, nie w dół.
  • Wybierz rozmiar obliczeniowy i warstwę obliczeniową dla docelowego serwera elastycznego na podstawie warstwy cenowej źródłowego pojedynczego serwera i rdzeni wirtualnych na podstawie szczegółów w poniższej tabeli.

    Warstwa cenowa serwera pojedynczego Rdzenie wirtualne serwera pojedynczego Rozmiar obliczeniowy serwera elastycznego Warstwa obliczeniowa serwera elastycznego
    Podstawowa* 1 Ogólnego przeznaczenia Standard_D16ds_v4
    Podstawowa* 2 Ogólnego przeznaczenia Standard_D16ds_v4
    Ogólne przeznaczenie* 4 Ogólnego przeznaczenia Standard_D16ds_v4
    Ogólne przeznaczenie* 8 Ogólnego przeznaczenia Standard_D16ds_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 4 Krytyczne dla działania firmy Standard_E4ds_v4
    Optymalizacja pod kątem pamięci 8 Krytyczne dla działania firmy Standard_E8ds_v4
    Optymalizacja pod kątem pamięci 16 Krytyczne dla działania firmy Standard_E16ds_v4
    Optymalizacja pod kątem pamięci 32 Krytyczne dla działania firmy Standard_E32ds_v4

* W przypadku migracji wybierz pozycję Obliczenia ogólnego przeznaczenia 16 rdzeni wirtualnych dla docelowego serwera elastycznego w celu przyspieszenia migracji. Przeskaluj z powrotem do żądanego rozmiaru obliczeniowego serwera docelowego po zakończeniu migracji, postępując zgodnie z zaleceniem dotyczącym rozmiaru obliczeniowego w sekcji Wykonywanie działań po migracji w dalszej części tego artykułu.

Po zakończeniu migracji można przywrócić parametry serwera i konfigurację do wartości wymaganych przez obciążenie.

Konfigurowanie usługi DMS

Po wdrożeniu i skonfigurowaniu docelowego serwera elastycznego należy skonfigurować usługę DMS, aby przeprowadzić migrację pojedynczego serwera na serwer elastyczny.

Rejestrowanie dostawcy zasobów

Aby zarejestrować dostawcę zasobów Microsoft.DataMigration, wykonaj następujące kroki.

  1. Przed utworzeniem pierwszego wystąpienia usługi DMS zaloguj się do witryny Azure Portal, a następnie wyszukaj i wybierz pozycję Subskrypcje. Screenshot of a Select subscriptions from Azure Marketplace.

  2. Wybierz subskrypcję, której chcesz użyć do utworzenia wystąpienia usługi DMS, a następnie wybierz pozycję Dostawcy zasobów. Screenshot of a Select Resource Provider.

  3. Wyszukaj termin "Migracja", a następnie w polu Microsoft.DataMigration wybierz pozycję Zarejestruj. Screenshot of a Register your resource provider.

Tworzenie wystąpienia usługi Database Migration Service

  1. W witrynie Azure Portal wybierz pozycję + Utwórz zasób, wyszukaj usługę Azure Database Migration Service, a następnie wybierz usługę Azure Database Migration Service na liście rozwijanej.

    Azure Marketplace

  2. Na ekranie Azure Database Migration Service wybierz polecenie Utwórz.

    Create Azure Database Migration Service instance

  3. Na ekranie Tworzenie usługi migracji określ nazwę usługi, subskrypcję oraz nową lub istniejącą grupę zasobów.

  4. Wybierz warstwę cenową i przejdź do ekranu sieci. Możliwość migracji offline jest dostępna tylko w warstwie cenowej Premium.

    Aby uzyskać więcej informacji na temat kosztów i warstw cenowych, zobacz stronę z cennikiem.

    Configure Azure Database Migration Service basic settings

  5. Wybierz istniejącą sieć wirtualną z listy lub podaj nazwę nowej sieci wirtualnej do utworzenia. Przejdź do ekranu przeglądania i tworzenia. Opcjonalnie możesz dodać tagi do usługi przy użyciu ekranu tagów.

    Sieć wirtualna zapewnia usłudze Azure Database Migration Service dostęp do źródłowego programu SQL Server i docelowego wystąpienia usługi Azure SQL Database.

    Configure Azure Database Migration Service network settings

    Aby uzyskać więcej informacji na temat tworzenia sieci wirtualnej w witrynie Azure Portal, zobacz artykuł Tworzenie sieci wirtualnej przy użyciu witryny Azure Portal.

  6. Przejrzyj konfiguracje i wybierz pozycję Utwórz , aby utworzyć usługę.

    Azure Database Migration Service create

Tworzenie projektu migracji

Po utworzeniu usługi znajdź ją w witrynie Azure Portal, otwórz ją, a następnie utwórz nowy projekt migracji.

  1. W witrynie Azure Portal wybierz pozycję Wszystkie usługi, wyszukaj usługę Azure Database Migration Service, a następnie wybierz pozycję Azure Database Migration Services.

    Locate all instances of Azure Database Migration Service

  2. Wybierz wystąpienie usługi migracji z wyników wyszukiwania i wybierz pozycję + Nowy projekt migracji.

    Create a new migration project

  3. Na ekranie Nowy projekt migracji określ nazwę projektu, w polu Wyboru Typ serwera źródłowego wybierz pozycję MySQL, w polu Wyboru Typ serwera docelowego wybierz pozycję Azure Database For MySQL, a następnie w polu Wyboru Typ działania migracji wybierz pozycję Migracja danych. Wybierz pozycję Utwórz i uruchom działanie.

    Create Database Migration Service Project

    Uwaga

    Alternatywnie możesz wybrać opcję Utwórz projekt tylko w celu utworzenia projektu migracji teraz i wykonania migracji później.

Konfigurowanie projektu migracji

  1. Na ekranie Wybieranie źródła określ szczegóły połączenia dla źródłowego wystąpienia programu MySQL, a następnie wybierz pozycję Dalej: Wybierz element docelowy>>

    Add source details screen

  2. Na ekranie Wybierz element docelowy określ szczegóły połączenia dla docelowego wystąpienia usługi Azure Database for MySQL, a następnie wybierz pozycję Dalej: Wybierz bazy danych>>

    Add target details screen

  3. Na ekranie Wybieranie baz danych zamapuj źródło i docelową bazę danych na potrzeby migracji, a następnie wybierz pozycję Dalej: Skonfiguruj ustawienia>> migracji. Możesz wybrać opcję Ustaw tylko do odczytu serwera źródłowego, aby ustawić źródło jako tylko do odczytu, ale należy zachować ostrożność, że jest to ustawienie na poziomie serwera. W przypadku wybrania ustawia cały serwer na tylko do odczytu, a nie tylko wybrane bazy danych.

    Jeśli docelowa baza danych zawiera taką samą nazwę bazy danych jak źródłowa baza danych, usługa Azure Database Migration Service domyślnie wybiera docelową bazę danych. Select database details screen

  4. Na ekranie Konfigurowanie ustawień migracji wybierz tabele, które mają być częścią migracji, a następnie wybierz pozycję Dalej: Podsumowanie>>. Jeśli tabele docelowe mają jakiekolwiek dane, nie są domyślnie wybrane, ale można je jawnie wybrać i zostaną obcięte przed rozpoczęciem migracji.

    Select tables screen

  5. Na ekranie Podsumowanie w polu tekstowym Nazwa działania określ nazwę działania migracji i przejrzyj podsumowanie, aby upewnić się, że szczegóły źródła i celu są zgodne z wcześniej określonymi informacjami.

    Migration project summary

  6. Wybierz pozycję Rozpocznij migrację. Zostanie wyświetlone okno działania migracji, a Stan działania będzie określony jako Inicjowanie. Stan zmieni się na Uruchomiono po rozpoczęciu migracji tabeli.

    Running migration

Monitorowanie migracji

  1. Na ekranie działania migracji wybierz pozycję Odśwież , aby zaktualizować ekran i wyświetlić postęp liczby ukończonych tabel.

  2. Możesz kliknąć nazwę bazy danych na ekranie działania, aby wyświetlić stan każdej tabeli podczas migracji. Wybierz pozycję Odśwież , aby zaktualizować ekran.

    Monitoring migration

Kończenie migracji

  1. Na ekranie działania migracji wybieraj polecenie Odśwież, aby zaktualizować ekran, aż do momentu, gdy Stan migracji zmieni się na Ukończono.

    Complete migration

Działania po migracji

Migracja jednorazowa w ramach migracji w trybie offline to proces zależny od aplikacji, który jest poza zakresem tego dokumentu, ale zalecane są następujące działania po migracji:

  1. Utwórz identyfikatory logowania, role i uprawnienia zgodnie z wymaganiami aplikacji.
  2. Utwórz ponownie wszystkie wyzwalacze w docelowej bazie danych zgodnie z wyodrębnionym podczas kroku przed migracją.
  3. Przeprowadź test poprawności działania aplikacji z docelową bazą danych w celu certyfikowania migracji.

Czyszczenie zasobów

Jeśli nie zamierzasz nadal korzystać z usługi Database Migration Service, możesz usunąć usługę, wykonując następujące czynności:

  1. W witrynie Azure Portal wybierz pozycję Wszystkie usługi, wyszukaj usługę Azure Database Migration Service, a następnie wybierz pozycję Azure Database Migration Services.

    Locate all instances of DMS

  2. Wybierz wystąpienie usługi migracji z wyników wyszukiwania i wybierz pozycję Usuń usługę.

    Delete the migration service

  3. W oknie dialogowym potwierdzenia wpisz nazwę usługi w polu tekstowym WPISZ NAZWĘ USŁUGI MIGRACJI BAZY DANYCH, a następnie wybierz pozycję Usuń.

    Confirm migration service delete

Następne kroki