Eksplorowanie opcji narzędzi migracji

Ukończone

Istnieje kilka narzędzi, których można użyć do planowania i migrowania danych do elastycznego serwera usługi Azure Database for MySQL. Każda opcja ma swoje zalety i wady, jak wyjaśniono w poniższych sekcjach.

Odnajdywanie i ocenianie obciążeń MySQL przy użyciu usługi Azure Migrate

Usługa Azure Migrate oferuje scentralizowane centrum do odnajdywania, oceniania i migrowania infrastruktury lokalnej, w tym serwerów, baz danych i aplikacji internetowych hostowanych w środowiskach fizycznych, do obiektów docelowych PaaS i infrastruktury jako usługi (IaaS) na dużą skalę. Funkcja odnajdywania i oceny mySQL w usłudze Azure Migrate (wersja zapoznawcza) pomaga w fazie planowania , umożliwiając:

  • Odnajdywanie wystąpień mySQL i ich atrybutów w środowisku
  • Ocena gotowości do migracji do usługi Azure Database for MySQL — serwer elastyczny i
  • Otrzymuj zalecenia dotyczące odpowiedniej jednostki SKU zasobów obliczeniowych i magazynu na potrzeby hostowania obciążeń MySQL w usłudze Azure Database for MySQL — serwer elastyczny wraz ze skojarzonymi kosztami.

Interfejs wiersza polecenia importowania usługi Azure Database for MySQL

Usługa Azure Database for MySQL Import to jedno polecenie interfejsu wiersza polecenia, które umożliwia bezproblemowe migrowanie obciążenia lokalnego lub maszyny wirtualnej MySQL do usługi Azure Database for MySQL — serwer elastyczny. Oferuje prostą i szybką ścieżkę migracji. Polecenie aprowizuje docelowy serwer elastyczny skonfigurowany zgodnie z danymi wejściowymi użytkownika, a następnie przywraca fizyczny plik kopii zapasowej (wykonany przy użyciu narzędzia Percona XtraBackup) serwera źródłowego przechowywanego na koncie usługi Azure Blob Storage do docelowego wystąpienia serwera elastycznego.

Polecenie interfejsu wiersza polecenia to: az mysql flexible-server --import

Podczas oceniania interfejsu wiersza polecenia importu należy wziąć pod uwagę następujące kwestie.

  • Konfiguracja serwera źródłowego musi zawierać następujące parametry i wartości:

    lower_case_table_names = 1
    innodb_file_per_table = ON
    
  • Nazwa systemowej przestrzeni tabel powinna mieć ibdata1 rozmiar równy co najmniej 12 MB (wartość domyślna mySQL).

  • Migracja jest obsługiwana tylko przez aparat InnoDB.

  • Niektóre elementy na serwerze źródłowym, takie jak konfiguracja (zapory, użytkownicy, uprawnienia) nie są migrowane.

  • Wysoka dostępność (HA) jest wyłączona podczas migracji w celu zoptymalizowania wydajności. Pamiętaj, aby ponownie włączyć wysoką dostępność po zakończeniu migracji.

Usługa Azure Database Migration Service

Azure Database Migration Service to w pełni zarządzana usługa, która ułatwia uproszczenie, przewodnik i automatyzowanie migracji baz danych na platformy danych platformy Azure.

Usługa Azure Database Migration Service działa przez tworzenie i uruchamianie powtarzalnych projektów migracji. Źródła obejmują od obciążeń lokalnych do obciążeń w chmurze, takich jak Amazon RDS MySQL. Usługa Azure Database Migration Service jest technicznie narzędziem do migracji w trybie offline, ale korzysta z programu MySQL binlog do przeprowadzania migracji online niemal zerowych przestojów.

mysqldump

Narzędzie mysqldump klienckie, zwykle instalowane razem z bazą danych MySQL, jest narzędziem do tworzenia kopii zapasowych bazy danych. Możesz użyć narzędzia mysqldump, aby zrzucić schemat i zawartość źródłowej bazy danych do instrukcji SQL. Następnie możesz uruchomić te instrukcje w taki sposób, aby przywrócić pełną lub częściową zawartość do docelowej bazy danych.

W przypadku dużych zestawów danych przywracanie zrzutu przez uruchomienie instrukcji SQL może działać źle. Na przykład indeksy są aktualizowane po jednej instrukcji jednocześnie, co może przeciążyć wydajność operacji we/wy dysku. W związku z tym można przyspieszyć migrację, łącząc mysqldump je z narzędziami takimi jak mydumper i myloader, które są zoptymalizowane pod kątem migracji zbiorczej danych. Służy mysqldump do ponownego tworzenia schematu bazy danych, który jest strefą docelową w docelowej bazie danych, aby pomieścić importowane dane.

Czasami należy dostosować transfer danych migracji. Możesz wyeksportować podzbiór danych do testowania lub zastąpić dane docelowej bazy danych dla klienta. Możesz nawet zmodyfikować dane, takie jak zredagowanie danych osobowych w celu debugowania problemu w testowej bazie danych przed ich migracją.

W tych scenariuszach mysqldump zapewnia największą elastyczność. Ponieważ eksportuje plik zawierający instrukcje SQL, możesz wybrać sposób modyfikowania danych przed uruchomieniem instrukcji na serwerze docelowym.

mydumper i myloader

mydumper i myloader są częścią pakietu MyDumper , narzędzia do tworzenia kopii zapasowych MySQL typu open source. mysqldump W przeciwieństwie do narzędzia, które wyprowadza cały schemat do instrukcji SQL w celu ponownego uruchomienia liniowego, narzędzia MyDumper korzystają z równoległości i zapewniają korzyści, takie jak używanie oddzielnych plików według tabel i formatów czytelnych dla człowieka, a także utrzymywanie dokładnych źródłowych i docelowych pozycji dziennika binarnego.

Aby przeprowadzić migrację dużych baz danych i myloader są zalecane, mydumper ponieważ te narzędzia oferują 10 razy lub większą wydajność przy użyciu równoległości.

Narzędzia są dostępne jako wersje binarne dla systemu Linux jako pakiety rpm i deb oraz dla systemu macOS za pośrednictwem oprogramowania Homebrew. Na innych platformach należy skompilować narzędzia ze źródła, co wprowadza złożoność.

MySQL Workbench

Program MySQL Workbench udostępnia graficzny interfejs użytkownika (GUI) do pracy z bazą danych MySQL i oferuje dostęp do wielu narzędzi, w tym jednego na potrzeby migracji bazy danych. Aplikacja MySQL Workbench jest dostępna w wersjach Community i komercyjnych programu MySQL, jak pokazano na liście funkcji MySQL Workbench.

Dziennik bin usługi MySQL

Narzędzie mysqlbinlog używa dziennika binarnego MySQL, który rejestruje zdarzenia zmiany bazy danych, takie jak modyfikacje tabeli lub wstawianie danych, aktualizacje i usuwanie. Każda zmiana jest identyfikowana przy użyciu przyrostowego położenia i można sprawdzić i manipulować każdą zmianą przy użyciu mysqlbinlog narzędzia .

Dziennik binarny można używać zarówno w ramach migracji online, jak i offline:

  • W przypadku migracji online dziennik binarny jest kluczowym mechanizmem replikowania zmian danych na żywo ze źródła do miejsca docelowego.
  • W przypadku migracji w trybie offline dziennik binarny umożliwia migracje przyrostowe przez precyzyjne generowanie zmian od czasu wcześniejszej migracji migawki.

Konserwacja dziennika binarnego wymaga dodatkowego przetwarzania i zasobów magazynu.