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
Aby rozpocząć proces migracji, zaloguj się do aplikacji MySQL Workbench, a następnie wybierz ikonę strony głównej.
Na pasku nawigacyjnym po lewej stronie wybierz ikonę Kreator migracji, jak pokazano na poniższym zrzucie ekranu.
Zostanie wyświetlona strona Przegląd Kreatora migracji, jak pokazano poniżej.
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.
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:
- MySQL :: MySQL Połączenie or/ODBC Developer Guide :: 4.1 Installing Połączenie or/ODBC on Windows (Przewodnik dla deweloperów programu MySQL:: 4.1 Instalowanie Połączenie or/ODBC w systemie Windows)
- Sterownik ODBC dla MySQL: Jak zainstalować i skonfigurować Połączenie ion (krok po kroku) — {kodowanie}Wzrok (codingsight.com)
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
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.
W polu System bazy danych wybierz pozycję MySQL.
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.
W polu Metoda Połączenie ion wybierz pozycję Standardowa TCP/IP.
W polu Nazwa hosta określ nazwę źródłowego serwera bazy danych.
W polu Port określ wartość 3306, a następnie wprowadź nazwę użytkownika i hasło do nawiązania połączenia z serwerem.
W polu Baza danych wprowadź nazwę bazy danych, którą chcesz zmigrować, jeśli ją znasz. W przeciwnym razie pozostaw to pole puste.
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.
Wybierz Dalej.
Konfigurowanie parametrów połączenia docelowego serwera bazy danych
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.
Aby zweryfikować pomyślne połączenie, wybierz pozycję Testuj Połączenie ion.
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.
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.
Wybierz przycisk Dalej , aby sprawdzić, czy wszystkie schematy zostały pomyślnie pobrane.
Poniższy zrzut ekranu przedstawia listę pobranych schematów.
Schematy wyświetlane na tej liście można migrować tylko.
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.
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.
W tym scenariuszu wybraliśmy wszystkie obiekty tabeli.
Wybierz Dalej.
Edytowanie danych
W tej sekcji masz możliwość edytowania obiektów, które chcesz migrować.
Na stronie Edytowanie ręczne zwróć uwagę na menu rozwijane Widok w prawym górnym rogu.
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.
Wybierz Dalej.
Tworzenie docelowej bazy danych
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.
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.
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:
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.
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.
W polu Obiekt wybierz obiekt, który chcesz edytować.
W obszarze Skrypt TWORZENIA SQL dla wybranego obiektu zmodyfikuj skrypt SQL, a następnie wybierz pozycję Zastosuj , aby zapisać zmiany.
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.
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.
Ta strona zawiera opcje konfigurowania transferu danych. Na potrzeby tego artykułu zaakceptujemy wartości domyślne.
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.
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.
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:
Wybierz przycisk Zakończ , aby zamknąć Kreatora migracji.
Migracja została ukończona pomyślnie.
Weryfikowanie spójności migrowanych schematów i tabel
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 .
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.
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.
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;
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.
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.