Migrowanie usługi Amazon RDS for MySQL do usługi Azure Database for MySQL przy użyciu aplikacji MySQL Workbench

DOTYCZY: Azure Database for MySQL — pojedynczy serwer

Ważne

Pojedynczy serwer usługi Azure Database for MySQL znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do serwera elastycznego usługi Azure Database for MySQL. Aby uzyskać więcej informacji na temat migracji do serwera elastycznego usługi Azure Database for MySQL, zobacz Co się dzieje z usługą Azure Database for MySQL — pojedynczy serwer?

Do migracji usługi Amazon RDS for MySQL do usługi Azure Database for MySQL można użyć narzędzi eksportu/importu, usługi Azure Database Migration Service (DMS) i przywracania bazy danych MySQL. Jednak użycie Kreatora migracji mySQL Workbench zapewnia łatwy i wygodny sposób przenoszenia baz danych Amazon RDS for MySQL do usługi Azure Database for MySQL.

Za pomocą Kreatora migracji można wygodnie wybrać schematy i obiekty do migracji. Umożliwia również wyświetlanie dzienników serwera w celu identyfikowania błędów i wąskich gardeł w czasie rzeczywistym. W związku z tym można edytować i modyfikować tabele lub struktury bazy danych i obiekty podczas procesu migracji po wykryciu błędu, a następnie wznowić migrację bez konieczności ponownego uruchamiania od podstaw.

Uwaga

Możesz również użyć Kreatora migracji do migrowania innych źródeł, takich jak Microsoft SQL Server, Oracle, PostgreSQL, MariaDB itp., które znajdują się poza zakresem tego artykułu.

Wymagania wstępne

Przed rozpoczęciem procesu migracji zaleca się upewnienie się, że kilka parametrów i funkcji zostało skonfigurowanych i skonfigurowanych prawidłowo, zgodnie z poniższym opisem.

  • Upewnij się, że zestaw znaków źródłowych i docelowych baz danych jest taki sam.

  • Ustaw limit czasu oczekiwania na rozsądny czas w zależności od ilości danych lub obciążenia, które chcesz zaimportować lub zmigrować.

  • max_allowed_packet parameter Ustaw wartość na rozsądną kwotę w zależności od rozmiaru bazy danych, którą chcesz zaimportować lub zmigrować.

  • Sprawdź, czy wszystkie tabele używają bazy danych InnoDB, ponieważ serwer usługi Azure Database for MySQL obsługuje tylko aparat magazynu InnoDB.

  • Usuń, zastąp lub zmodyfikuj wszystkie wyzwalacze, procedury składowane i inne funkcje zawierające definicje użytkownika głównego lub administratora (usługa Azure Database for MySQL nie obsługuje uprawnień administratora). Aby zastąpić definicje nazwą użytkownika administratora, który uruchamia proces importowania, uruchom następujące polecenie:

    DELIMITER; ;/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`127.0.0.1`*/ /*!50003
    DELIMITER;
    /* Modified to */
    DELIMITER;
    /*!50003 CREATE*//*!50017 DEFINER=`AdminUserName`@`ServerName`*/ /*!50003
    DELIMITER;
    
    
  • Jeśli funkcje zdefiniowane przez użytkownika (UDF) są uruchomione na serwerze bazy danych, musisz usunąć uprawnienia dla bazy danych mysql. Aby określić, czy na serwerze są uruchomione jakiekolwiek funkcje zdefiniowane przez użytkownika, użyj następującego zapytania:

    SELECT * FROM mysql.func;
    

    Jeśli wykryjesz, że funkcje zdefiniowane przez użytkownika są uruchomione, możesz usunąć funkcje zdefiniowane przez użytkownika przy użyciu następującego zapytania:

    DROP FUNCTION your_UDFunction;
    
  • Upewnij się, że serwer, na którym jest uruchomione narzędzie, a ostatecznie lokalizacja eksportu, ma dużo miejsca na dysku i moc obliczeniową (rdzenie wirtualne, procesor CPU i pamięć) do wykonania operacji eksportowania, zwłaszcza podczas eksportowania bardzo dużej bazy danych.

  • Utwórz ścieżkę między wystąpieniem lokalnym lub usługą AWS i usługą Azure Database for MySQL, jeśli obciążenie znajduje się za zaporami lub innymi warstwami zabezpieczeń sieci.

Rozpoczynanie procesu migracji

  1. Aby rozpocząć proces migracji, zaloguj się do aplikacji MySQL Workbench, a następnie wybierz ikonę strony głównej.

  2. Na pasku nawigacyjnym po lewej stronie wybierz ikonę Kreator migracji, jak pokazano na poniższym zrzucie ekranu.

    MySQL Workbench start screen

    Zostanie wyświetlona strona Przegląd Kreatora migracji, jak pokazano poniżej.

    MySQL Workbench Migration Wizard welcome page

  3. Określ, czy masz zainstalowany sterownik ODBC dla serwera MySQL, wybierając pozycję Open ODBC Administracja istrator.

    W naszym przypadku na karcie Sterowniki zauważysz, że są już zainstalowane dwa sterowniki ODBC serwera MySQL.

    ODBC Data Source Administrator page

    Jeśli sterownik ODBC mySQL nie jest zainstalowany, użyj Instalatora MySQL użytego do zainstalowania programu MySQL Workbench w celu zainstalowania sterownika. Aby uzyskać więcej informacji na temat instalacji sterownika ODBC programu MySQL, zobacz następujące zasoby:

  4. Zamknij okno dialogowe Administracja istrator źródła danych ODBC, a następnie kontynuuj proces migracji.

Konfigurowanie parametrów połączenia serwera źródłowej bazy danych

  1. Na stronie Przegląd wybierz pozycję Rozpocznij migrację.

    Zostanie wyświetlona strona Wybór źródła. Użyj tej strony, aby podać informacje o migrowaniu z programu RDBMS i parametrach połączenia.

  2. W polu System bazy danych wybierz pozycję MySQL.

  3. W polu Przechowywana Połączenie ion wybierz jedno z zapisanych ustawień połączenia dla tych maszyn wirtualnych RDBMS.

    Połączenia można zapisywać, zaznaczając pole wyboru w dolnej części strony i podając nazwę preferencji.

  4. W polu Metoda Połączenie ion wybierz pozycję Standardowa TCP/IP.

  5. W polu Nazwa hosta określ nazwę źródłowego serwera bazy danych.

  6. W polu Port określ wartość 3306, a następnie wprowadź nazwę użytkownika i hasło do nawiązania połączenia z serwerem.

  7. W polu Baza danych wprowadź nazwę bazy danych, którą chcesz zmigrować, jeśli ją znasz. W przeciwnym razie pozostaw to pole puste.

  8. Wybierz pozycję Test Połączenie ion, aby sprawdzić połączenie z wystąpieniem serwera MySQL.

    Jeśli wprowadzono poprawne parametry, zostanie wyświetlony komunikat wskazujący pomyślną próbę połączenia.

    Source database connection parameters page

  9. Wybierz Dalej.

Konfigurowanie parametrów połączenia docelowego serwera bazy danych

  1. Na stronie Wybór docelowy ustaw parametry, aby nawiązać połączenie z docelowym wystąpieniem serwera MySQL przy użyciu procesu podobnego do tego w celu skonfigurowania połączenia z serwerem źródłowym.

  2. Aby zweryfikować pomyślne połączenie, wybierz pozycję Testuj Połączenie ion.

    Target database connection parameters page

  3. Wybierz Dalej.

Wybieranie schematów do migracji

Kreator migracji komunikuje się z wystąpieniem serwera MySQL i pobiera listę schematów z serwera źródłowego.

  1. Wybierz pozycję Pokaż dzienniki , aby wyświetlić tę operację.

    Poniższy zrzut ekranu przedstawia sposób pobierania schematów z źródłowego serwera bazy danych.

    Fetch schemas list page

  2. Wybierz przycisk Dalej , aby sprawdzić, czy wszystkie schematy zostały pomyślnie pobrane.

    Poniższy zrzut ekranu przedstawia listę pobranych schematów.

    Schemas selection page

    Schematy wyświetlane na tej liście można migrować tylko.

  3. Wybierz schematy, które chcesz zmigrować, a następnie wybierz przycisk Dalej.

Migracja obiektów

Następnie określ obiekty, które mają zostać zmigrowane.

  1. Wybierz pozycję Pokaż zaznaczenie, a następnie w obszarze Dostępne obiekty wybierz i dodaj obiekty, które chcesz zmigrować.

    Po dodaniu obiektów zostaną one wyświetlone w obszarze Obiekty do migracji, jak pokazano na poniższym zrzucie ekranu.

    Source objects selection page

    W tym scenariuszu wybraliśmy wszystkie obiekty tabeli.

  2. Wybierz Dalej.

Edytowanie danych

W tej sekcji masz możliwość edytowania obiektów, które chcesz migrować.

  1. Na stronie Edytowanie ręczne zwróć uwagę na menu rozwijane Widok w prawym górnym rogu.

    Manual Editing selection page

    Pole listy rozwijanej Widok zawiera trzy elementy:

    • Wszystkie obiekty — wyświetla wszystkie obiekty. Dzięki tej opcji można ręcznie edytować wygenerowany kod SQL przed zastosowaniem ich do docelowego serwera bazy danych. W tym celu wybierz obiekt i wybierz pozycję Pokaż kod i komunikaty. Wygenerowany kod MySQL odpowiadający wybranemu obiektowi można zobaczyć (i edytować!).
    • Problemy z migracją — wyświetla wszelkie problemy, które wystąpiły podczas migracji, które można przejrzeć i zweryfikować.
    • Mapowanie kolumn — wyświetla informacje o mapowaniu kolumn. Za pomocą tego widoku można edytować nazwę i zmienić kolumnę obiektu docelowego.
  2. Wybierz Dalej.

Tworzenie docelowej bazy danych

  1. Zaznacz pole wyboru Utwórz schemat w docelowym programie RDBMS.

    Możesz również zachować istniejące schematy, aby nie były modyfikowane ani aktualizowane.

    Target Creation Options page

    W tym artykule wybraliśmy utworzenie schematu w docelowym programie RDBMS, ale możesz również zaznaczyć pole wyboru Utwórz plik skryptu SQL, aby zapisać plik na komputerze lokalnym lub w innych celach.

  2. Wybierz Dalej.

Uruchom skrypt MySQL, aby utworzyć obiekty bazy danych

Ponieważ wybrano tworzenie schematu w docelowym systemie RDBMS, zmigrowany skrypt SQL zostanie wykonany na docelowym serwerze MySQL. Postęp można wyświetlić, jak pokazano na poniższym zrzucie ekranu:

Create Schemas page

  1. Po zakończeniu tworzenia schematów i ich obiektów wybierz przycisk Dalej.

    Na stronie Tworzenie wyników docelowych zostanie wyświetlona lista utworzonych obiektów i powiadomienie o wszelkich błędach, które zostały napotkane podczas ich tworzenia, jak pokazano na poniższym zrzucie ekranu.

    Create Target Results page

  2. Przejrzyj szczegóły na tej stronie, aby sprawdzić, czy wszystko zostało ukończone zgodnie z oczekiwaniami.

    W tym artykule nie występują żadne błędy. Jeśli nie ma potrzeby rozwiązywania problemów z komunikatami o błędach, możesz edytować skrypt migracji.

  3. W polu Obiekt wybierz obiekt, który chcesz edytować.

  4. W obszarze Skrypt TWORZENIA SQL dla wybranego obiektu zmodyfikuj skrypt SQL, a następnie wybierz pozycję Zastosuj , aby zapisać zmiany.

  5. Wybierz pozycję Utwórz ponownie obiekty , aby uruchomić skrypt, w tym zmiany.

    Jeśli skrypt zakończy się niepowodzeniem, może być konieczne zmodyfikowanie wygenerowanego skryptu. Następnie możesz ręcznie naprawić skrypt SQL i uruchomić wszystko ponownie. W tym artykule nic nie zmienimy, więc pozostawimy skrypt tak, jak to jest.

  6. Wybierz Dalej.

Transfer danych

Ta część procesu przenosi dane ze źródłowego wystąpienia bazy danych programu MySQL Server do nowo utworzonego docelowego wystąpienia bazy danych MySQL. Użyj strony Konfiguracja transferu danych, aby skonfigurować ten proces.

Data Transfer Setup page

Ta strona zawiera opcje konfigurowania transferu danych. Na potrzeby tego artykułu zaakceptujemy wartości domyślne.

  1. Aby rozpocząć rzeczywisty proces przesyłania danych, wybierz pozycję Dalej.

    Postęp procesu transferu danych jest wyświetlany, jak pokazano na poniższym zrzucie ekranu.

    Bulk Data Transfer page

    Uwaga

    Czas trwania procesu transferu danych jest bezpośrednio związany z rozmiarem migrowania bazy danych. Większa źródłowa baza danych, tym dłużej proces potrwa, potencjalnie do kilku godzin w przypadku większych baz danych.

  2. Po zakończeniu transferu wybierz przycisk Dalej.

    Zostanie wyświetlona strona Raport migracji zawierająca raport podsumowujący cały proces, jak pokazano na poniższym zrzucie ekranu:

    Migration Progress Report page

  3. Wybierz przycisk Zakończ , aby zamknąć Kreatora migracji.

    Migracja została ukończona pomyślnie.

Weryfikowanie spójności migrowanych schematów i tabel

  1. Następnie zaloguj się do docelowego wystąpienia bazy danych MySQL, aby sprawdzić, czy zmigrowane schematy i tabele są zgodne z źródłową bazą danych MySQL.

    W naszym przypadku widać, że wszystkie schematy (sakila, moda, elementy, klient, ubrania, świat i world_x) z bazy danych Amazon RDS for MySQL: Baza danych MyjolieDB została pomyślnie zmigrowana do wystąpienia usługi Azure Database for MySQL: azmysql .

  2. Aby sprawdzić liczbę tabel i wierszy, uruchom następujące zapytanie w obu wystąpieniach:

    SELECT COUNT (*) FROM sakila.actor;

    Na poniższym zrzucie ekranu widać, że liczba wierszy dla usługi Amazon RDS MySQL wynosi 200, co odpowiada wystąpieniu usługi Azure Database for MySQL.

    Table and Row size source database

    Table and Row size target database

    Chociaż możesz uruchomić powyższe zapytanie dla każdego pojedynczego schematu i tabeli, będzie to dość dużo pracy, jeśli masz do czynienia z setkami tysięcy, a nawet milionami tabel. Poniższe zapytania umożliwiają zweryfikowanie schematu (bazy danych) i rozmiaru tabeli.

  3. Aby sprawdzić rozmiar bazy danych, uruchom następujące zapytanie:

    SELECT table_schema AS "Database", 
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" 
    FROM information_schema.TABLES 
    GROUP BY table_schema;
    
  4. Aby sprawdzić rozmiar tabeli, uruchom następujące zapytanie:

    SELECT table_name AS "Table",
    ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
    FROM information_schema.TABLES
    WHERE table_schema = "database_name"
    ORDER BY (data_length + index_length) DESC;
    

    Na poniższych zrzutach ekranu widać, że rozmiar schematu (bazy danych) ze źródłowego wystąpienia usługi Amazon RDS MySQL jest taki sam jak w przypadku docelowego wystąpienia usługi Azure Database for MySQL.

    Database size source database

    Database size target database

    Ponieważ rozmiary schematu (bazy danych) są takie same w obu wystąpieniach, nie jest to naprawdę konieczne, aby sprawdzić poszczególne rozmiary tabeli. W każdym razie zawsze możesz użyć powyższego zapytania, aby sprawdzić rozmiary tabeli, zgodnie z potrzebami.

    Potwierdzono, że migracja została ukończona pomyślnie.

Następne kroki

  • Aby uzyskać więcej informacji na temat migrowania baz danych do usługi Azure Database for MySQL, zobacz Przewodnik po migracji bazy danych.
  • Obejrzyj wideo Łatwe migrowanie aplikacji MySQL/PostgreSQL do usługi zarządzanej platformy Azure, która zawiera pokaz przedstawiający sposób migrowania aplikacji MySQL do usługi Azure Database for MySQL.