Eksplorowanie opcji narzędzi migracji
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.