Migrowanie lokalnej bazy danych MySQL na platformę Azure

Ukończone

Gdy firma podejmie decyzję o przejściu do usługi Azure Database for MySQL, następnym krokiem jest zaplanowanie migracji lokalnych baz danych i wybranie narzędzi do przenoszenia danych.

Po zapoznaniu się ze sposobem obsługi i skalowania bazy danych MySQL na platformie Azure w usłudze Azure Database for MySQL warto teraz rozważyć sposób migrowania istniejących lokalnych baz danych.

W tej lekcji dowiesz się, jak utworzyć wystąpienie usługi Azure Database for MySQL przy użyciu witryny Azure Portal. Jeśli musisz utworzyć wiele wystąpień tej usługi, możesz utworzyć skrypt procesu przy użyciu interfejsu wiersza polecenia platformy Azure.

Tworzenie usługi Azure Database for MySQL przy użyciu portalu

W witrynie Azure Portal wybierz polecenie Bazy danych w witrynie Azure Marketplace, a następnie wybierz pozycję Azure Database for MySQL.

Obraz przedstawiający element usługi Azure Database for MySQL w witrynie Azure Marketplace

Wprowadź szczegóły usługi. Są to:

  • Nazwa serwera. Musi to być unikatowa nazwa z zakresu od 3 do 63 znaków, zawierająca tylko małe litery, cyfry i łączniki.
  • Źródło danych. Jeśli tworzysz nowy serwer na potrzeby migracji, wybierz pozycję Brak. Opcja Kopia zapasowa umożliwia przywrócenie kopii zapasowej pobranej z innego wystąpienia usługi Azure Database for MySQL do tej usługi.
  • Nazwa użytkownika administratora: Jest to nazwa konta użytkownika, które zostanie utworzone z uprawnieniami administracyjnymi. Platforma Azure tworzy niektóre konta do własnego użytku, a inne nazwy są ograniczone; Nie można używać azure_superuser, administratora, administratora, katalogu głównego, gościa ani publicznego.
  • Hasło. Musi to zawierać od 8 do 128 znaków. Powinna zawierać kombinację wielkich i małych liter, cyfr i znaków nieliczbowych. Usługa Azure Database for MySQL obecnie obsługuje tylko uwierzytelnianie haseł; integracja z identyfikatorem Entra firmy Microsoft nie jest jeszcze dostępna.
  • Wersja. Wybierz wersję odpowiadającą migrowaniu lokalnej bazy danych.
  • Środowisko obliczeniowe i magazyn Wybierz pozycję Konfiguruj serwer , aby ustawić warstwę cenową i określić wymagane zasoby dla usługi. Opcje zostały omówione w lekcji 1. Pamiętaj, że jeśli wybierzesz warstwy cenowe Ogólnego przeznaczenia lub Zoptymalizowane pod kątem pamięci, skalujesz w górę i w dół liczbę rdzeni procesora wirtualnego później. Nie można jednak zmniejszyć ilości miejsca do magazynowania; może on zwiększyć się tylko po utworzeniu serwera.

Zrzut ekranu przedstawiający przykładową konfigurację usługi Azure Database for MySQL w witrynie Azure Portal.

Wybierz pozycję Przejrzyj i utwórz , aby wdrożyć usługę. Wdrożenie potrwa kilka minut.

Po wdrożeniu usługi wybierz opcję zabezpieczeń Połączenie ion i dodaj odpowiednie reguły zapory, aby umożliwić klientom nawiązywanie połączenia — zgodnie z opisem w temacie Client Połączenie ivity w lekcji 1. Należy również wybrać opcję Zezwalaj na dostęp do usług platformy Azure.

Tworzenie wystąpienia usługi Azure Database for MySQL przy użyciu interfejsu wiersza polecenia platformy Azure

Wystąpienie usługi Azure Database for MySQL jest tworzone przy użyciu az mysql server create polecenia . W poniższej instrukcji przedstawiono przykład tworzenia wystąpienia programu MySQL. Większość parametrów jest objaśniająca, z wyjątkiem następujących:

  • sku-name. Tworzy się to na podstawie kombinacji warstwy cenowej (B dla warstwy Podstawowa, GP dla warstwy Ogólnego przeznaczenia i MO dla zoptymalizowanej pod kątem pamięci), generacji obliczeniowej (Gen4 lub Gen5) oraz liczby rdzeni procesorów wirtualnych. W poniższym przykładzie serwer jest tworzony przy użyciu warstwy cenowej Ogólnego przeznaczenia z czterema rdzeniami procesora CPU generacji Gen5.
  • rozmiar magazynu. Jest to wymagana ilość miejsca na dysku określona w megabajtach. Poniższy przykład przydziela 10 gigabajtów.
az mysql server create \
  --name contoso-MySQL-server \
  --resource-group MySQLrg \
  --admin-user contosoadmin \
  --admin-password 7Hh7*ku5k$$£jhk \
  --sku-name GP_Gen5_4 \
  --storage-size 10240

Przeprowadzanie migracji w trybie offline

Migracja w trybie offline tworzy migawkę źródłowej bazy danych w określonym punkcie w czasie i kopiuje te dane do docelowej bazy danych. Wszelkie zmiany wprowadzone w danych źródłowych po utworzeniu migawki nie zostaną odzwierciedlone w docelowej bazie danych.

Masz co najmniej dwie opcje, jeśli chcesz przeprowadzić migrację w trybie offline do usługi Azure Database for MySQL:

Eksport i import

Bazę danych można wyeksportować z programu MySQL i zaimportować do usługi Azure Database for MySQL przy użyciu narzędzi, takich jak MySQL Workbench. Jest to przydatne w wielu scenariuszach:

  • Chcesz wybrać tabele do zaimportowania.
  • Chcesz wybrać obiekty bazy danych do wyeksportowania i zaimportowania, w tym widoki, procedury składowane, ograniczenia i funkcje.
  • Chcesz również przeprowadzić migrację danych z innych źródeł. Na przykład musisz dodać dane z plików tekstowych i użyć polecenia mysqlimport , aby dodać je jako tabele do bazy danych.

Eksportowanie i importowanie można wykonać przy użyciu programu MySQL Workbench. W menu Serwer wybierz pozycję Eksportuj dane lub Importuj dane.

Uwaga

Możesz również użyć narzędzia mysqldump , aby wyeksportować określone tabele, wyświetlając ich nazwy po nazwie bazy danych.

Aby uzyskać więcej informacji, zobacz Migrowanie bazy danych MySQL przy użyciu importowania i eksportowania.

Zrzut i przywracanie

Użyj zrzutu i przywracania, aby efektywnie przenieść całą bazę danych.

Podczas korzystania ze zrzutu i przywracania należy wziąć pod uwagę szereg zagadnień:

  • Zapobiegaj wyzwalaczom wyzwalaczy wyzwalaczy podczas przywracania przy użyciu opcji wykluczania wyzwalaczy .
  • Zrzuć całą bazę danych w jednej transakcji z opcją pojedynczej transakcji .
  • Wyłącz ograniczenia klucza obcego wyzwalane podczas procesu za pomocą opcji disable-keys .
  • Odrocz tworzenie indeksu do momentu ukończenia przywracania z opcją odroczenia indeksów .

Aby uzyskać więcej informacji na temat programu mysqldump, zobacz mysqldump — program do tworzenia kopii zapasowych bazy danych.

Uwaga

Możesz również użyć narzędzia mysqldump , aby wyeksportować określone tabele, wyświetlając ich nazwy po nazwie bazy danych.

Usługa Azure Database Migration Service (DMS)

Oprócz migracji w trybie offline do usługi Azure Database for MySQL usługa DMS obsługuje migracje między regionami, między zasobami i między subskrypcjami, dzięki czemu można wybrać region, grupę zasobów i subskrypcję serwera docelowego innego niż określony dla serwera źródłowego.

Migrowanie przy użyciu zrzutu i przywracania

Wykonaj następujące kroki, aby przeprowadzić migrację bazy danych przy użyciu podejścia zrzutu i przywracania.

  1. Wyeksportuj dane do innego pliku za pomocą polecenia mysqldump:

    mysqldump -h [host name] -u [username] -p[password] [database name] > db_data.sql
    

    W tym momencie db_data.sql jest skryptem SQL, który można zmodyfikować przy użyciu edytora tekstów.

  2. Utwórz docelową bazę danych w usłudze Azure Database for MySQL. Możesz to zrobić za pomocą interfejsu wiersza polecenia platformy Azure:

    az mysql db create \
        --name [database name] \
        --server-name [server name] \
        --resource-group [azure resource group]
    
  3. Zaimportuj dane do docelowej bazy danych za pomocą polecenia mysql:

    mysql -h [host name] -u [username] -p[password] [database name] < db_data.sql
    

Przeprowadzanie migracji online

Usługa DMS obsługuje również migrację online do usługi Azure Database for MySQL. W przypadku migracji online zalecamy wybranie opcji Obliczenia ogólnego przeznaczenia 16 rdzeni wirtualnych dla docelowego serwera elastycznego w celu przyspieszenia migracji. Skaluj z powrotem do żądanego rozmiaru obliczeniowego serwera docelowego po zakończeniu migracji, na podstawie szczegółów w poniższej tabeli.

Warstwa cenowa serwera pojedynczego Rdzenie wirtualne serwera pojedynczego Rozmiar obliczeniowy serwera elastycznego Warstwa obliczeniowa 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

Aby dowiedzieć się więcej na temat migracji online do usługi Azure Database for MySQL, zobacz Samouczek: migrowanie usługi Azure Database for MySQL — pojedynczy serwer do serwera elastycznego w trybie online przy użyciu usługi DMS za pośrednictwem witryny Azure Portal.