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

Za pomocą usługi Azure Database Migration Service można przeprowadzić bezproblemową migrację z zewnętrznej instancji systemu MySQL do Azure Database for MySQL dzięki 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, a celem usługa Azure Database for MySQL, można je wykorzystać do migracji z jednego wystąpienia usługi Azure Database for MySQL do innego — wystarczy zmienić nazwę serwera źródłowego i poświadczenia. Ponadto migracja z serwerów MySQL w niższej wersji (wersja 5.6 lub nowsza) do nowszych 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.

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 instancję usługi DMS.
  • Utwórz projekt migracji MySQL w usłudze DMS.
  • Migrowanie schematu MySQL przy użyciu usługi DMS.
  • Uruchom migrację.
  • 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.

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

    • 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 zasady grupy zabezpieczeń sieciowej sieci wirtualnej nie blokują wychodzącego portu 443 dla ServiceTag usług ServiceBus, Storage i AzureMonitor. Aby uzyskać więcej informacji na temat filtrowania ruchu sieci wirtualnej za pomocą sieciowych grup zabezpieczeń (NSG), zobacz artykuł Filtrowanie ruchu sieciowego przy użyciu sieciowych grup zabezpieczeń.

  • Otwórz Zaporę systemu Windows, aby zezwolić na połączenia z sieci wirtualnej dla usługi 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, aby umożliwić połączenia z wirtualnej sieci Azure Database Migration Service do 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:

    • Wybierz uprawnienia na poziomie serwera w źródle.
    • W przypadku migrowania widoków użytkownik musi mieć uprawnienie SHOW VIEW na serwerze źródłowym i uprawnienie CREATE VIEW na serwerze docelowym.
    • W przypadku migrowania wyzwalaczy użytkownik musi mieć uprawnienie WYZWALACZ na serwerze źródłowym i docelowym.
    • W przypadku migrowania procedur (procedur i/lub funkcji) użytkownik musi mieć uprawnienia CREATE ROUTINE i ALTER ROUTINE przyznane na poziomie serwera na poziomie docelowym.
    • W przypadku migrowania zdarzeń użytkownik musi mieć uprawnienie ZDARZENIE na serwerze źródłowym i docelowym.
    • W przypadku migrowania użytkowników/logowań użytkownik musi mieć uprawnienie CREATE USER na serwerze docelowym.
    • Uprawnienia DROP na serwerze docelowym, aby usunąć tabele, które mogą już istnieć. Na przykład podczas ponawiania próby migracji.
    • Uprawnienia REFERENCES na poziomie serwera na poziomie docelowym, aby utworzyć tabele z kluczami obcymi.
    • W przypadku migracji do programu MySQL 8.0 użytkownik musi mieć uprawnienia SESSION_VARIABLES_ADMIN na serwerze docelowym.
    • Uprawnienia CREATE na poziomie serwera dla obiektu docelowego.
    • Uprawnienia INSERT na poziomie serwera w obiekcie docelowym.
    • Zaktualizuj uprawnienia na poziomie serwera na docelowym.
    • Uprawnienia DELETE na poziomie serwera dotyczące obiektu docelowego.

Określ rozmiar 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 (czyli 1 GB), aby zapobiec wszelkim problemom z połączeniem z powodu dużych wierszy.

  • slow_query_log – ustaw na OFF , aby wyłączyć dziennik wolnych zapytań. Eliminuje to obciążenie spowodowane powolnym rejestrowaniem zapytań podczas ładowania danych.

  • query_store_capture_mode — ustaw na NONE, aby wyłączyć Magazyn Zapytań. Eliminuje to obciążenie spowodowane 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 serwer w górę do 64 jednostek SKU ogólnego przeznaczenia z warstwy cenowej portalu podczas migracji, aby zwiększyć wartość innodb_buffer_pool_size.

  • innodb_io_capacity i innodb_io_capacity_max — zmień wartość 9000 w parametrach serwera w Azure Portal, aby poprawić wykorzystanie I/O i zoptymalizować szybkość migracji.

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

  • Zwiększanie warstwy magazynu — liczba operacji wejścia/wyjścia na sekundę (IOPS) dla serwera Azure Database for MySQL stopniowo rośnie wraz ze zwiększaniem warstwy magazynu.

    • W opcji wdrażania serwera elastycznego zalecamy skalowanie (zwiększanie lub zmniejszanie) liczby operacji we/wy na sekundę niezależnie od rozmiaru magazynu.
    • Rozmiar magazynu można skalować tylko w górę, a nie w dół.
  • Wybierz rozmiar obliczeniowy i warstwę obliczeniową dla docelowego serwera elastycznego na podstawie konfiguracji źródłowego serwera MySQL.

    1 W przypadku migracji, jako najlepszą praktykę, wybierz Obliczenia ogólnego przeznaczenia z 16 rdzeniami wirtualnymi lub więcej dla elastycznego serwera docelowego, aby przyspieszyć migrację. Po zakończeniu migracji przeprowadź skalowanie z powrotem do żądanego rozmiaru obliczeniowego serwera docelowego.

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 w celu przeprowadzenia migracji serwera MySQL 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.

    Zrzut ekranu przedstawiający wybieranie subskrypcji z witryny 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.

    Zrzut ekranu przedstawiający wybieranie dostawcy zasobów.

  3. Wyszukaj termin "Migracja", a następnie w polu Microsoft.DataMigration wybierz pozycję Zarejestruj.

    Zrzut ekranu przedstawiający opcję „Zarejestruj dostawcę zasobów”.

Utworzyć wystąpienie usługi Database Migration Service

  1. W witrynie Azure Portal wybierz pozycję + Utwórz zasób, wyszukaj pozycję Azure Database Migration Service, a następnie wybierz pozycję Azure Database Migration Service z listy rozwijanej.

    Zrzut ekranu przedstawiający witrynę Azure Marketplace.

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

    Zrzut ekranu tworzenia wystąpienia usługi Azure Database Migration Service.

  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.

    Zrzut ekranu przedstawiający konfigurowanie podstawowych ustawień usługi Azure Database Migration Service.

  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.

    Zrzut ekranu przedstawiający konfigurowanie ustawień sieci usługi Azure Database Migration Service.

    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ę.

    Zrzut ekranu przedstawiający tworzenie usługi Azure Database Migration Service.

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.

    Zrzut ekranu przedstawiający lokalizowanie wszystkich wystąpień usługi Azure Database Migration Service.

  2. Wybierz instancję usługi migracji z wyników wyszukiwania i wybierz + Nowy projekt migracji.

    Zrzut ekranu przedstawiający tworzenie nowego projektu migracji.

  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.

    Zrzut ekranu przedstawiający tworzenie projektu usługi Database Migration Service.

    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 Dalej: Wybierz element docelowy >>

    Zrzut ekranu przedstawiający ekran „Dodawanie szczegółów źródła”.

  2. Na ekranie Wybieranie miejsca docelowego 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 >>

    Zrzut ekranu przedstawiający ekran „Dodawanie szczegółów elementu docelowego”.

  3. Na ekranie Wybierz baz danych dopasuj źródłową i docelową bazę danych na potrzeby migracji, a następnie wybierz opcję Dalej: Skonfiguruj ustawienia migracji >>. Możesz wybrać opcję Ustaw serwer źródłowy jako tylko do odczytu, aby ustawić serwer źródłowy jako tylko do odczytu, ale pamiętaj, ż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.

    Zrzut ekranu przedstawiający ekran Wybieranie szczegółów bazy danych.

  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.

    Zrzut ekranu przedstawiający ekran Wybieranie tabel.

  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.

    Zrzut ekranu przedstawiający podsumowanie projektu migracji.

  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.

    Zrzut ekranu przedstawiający trwającą migrację.

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 wybrać nazwę bazy danych na ekranie działania, aby wyświetlić stan każdej tabeli podczas migracji. Wybierz pozycję Odśwież , aby zaktualizować ekran.

    Zrzut ekranu przedstawiający monitorowanie migracji.

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.

    Zrzut ekranu przedstawiający ukończoną migrację.

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 tym, co wyodrębniono podczas kroku przedmigracyjnego.
  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.

    Zrzut ekranu przedstawiający lokalizowanie wszystkich wystąpień usługi DMS.

  2. Wybierz instancję usługi migracji z wyników wyszukiwania i wybierz Usuń usługę.

    Zrzut ekranu przedstawiający usuwanie usługi migracji.

  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ń.

    Zrzut ekranu przedstawiający potwierdzanie usunięcia usługi migracji.