Migrowanie lokalnego serwera MySQL przy użyciu interfejsu wiersza polecenia importowania usługi Azure Database for MySQL
Nadszedł czas, aby przeprowadzić migrację lokalnego serwera MySQL do serwera elastycznego usługi Azure Database for MySQL. Podjęto decyzję o migracji w trybie offline, ponieważ ustawienia sieci uniemożliwiają bezpośrednie połączenie między serwerami źródłowymi i docelowymi. Na poniższym diagramie przedstawiono podsumowanie procedury:
Wymagania wstępne
Na serwerze źródłowym upewnij się, że skonfigurowano następujące ustawienia:
-
lower_case_table_names = 1 innodb_file_per_table = ON innodb_page_size = 16348 (MySQL Default) Nazwa systemowej przestrzeni tabel powinna mieć wartość
ibdata1.Rozmiar przestrzeni tabel systemowych powinien być większy lub równy 12 MB. (Wartość domyślna programu MySQL)
Obsługiwany jest tylko silnik INNODB.
-
Potrzebujesz kontenera usługi Azure Blob Storage. Jeśli nie masz odpowiedniego kontenera, utwórz go za pomocą tego szybkiego startu. Potrzebujesz tokenu sygnatury dostępu współdzielonego (SAS) kontenera Blob usługi Azure. Aby zoptymalizować wydajność, zachowaj magazyn i docelowy serwer elastyczny w tym samym regionie.
Musisz zamknąć aplikację, aby zapobiec wszelkim zmianom w bazie danych.
Procedura
Utwórz fizyczną kopię zapasową bazy danych MySQL. Używamy narzędzia XtraBackup typu open source platformy Percona.
Zainstaluj narzędzie zgodnie z tymi instrukcjami (dla programu MySQL 8.0).
Utwórz pełną kopię zapasową, na przykład:
xtrabackup --backup --target-dir=/data/backups/
Przekaż plik kopii zapasowej do usługi Azure Blob Storage, wykonując następujące kroki.
Wyzwól importowanie, uruchamiając to polecenie po wypełnieniu zmiennych. Można również zmodyfikować rozmiar obliczeniowy, zmieniając Standard_D2ds_v4.
-
az mysql flexible-server import create --data-source-type "azure_blob" --data-source $BLOB_DATA_URL --data-source-backup-dir "mysql_backup_percona" –-data-source-token $SAS_TOKEN --resource-group $RESOURCE_GROUP --name $FLEXIBLE_SERVER_NAME –-sku-name Standard_D2ds_v4 --tier GeneralPurpose –-version 8.0 -–location westus --auto-scale-iops Enabled Spodziewaj się, że importowanie będzie trwać proporcjonalnie do pliku kopii zapasowej. Importowanie pliku kopii zapasowej o rozmiarze 1 GiB trwa około pół minuty, podczas gdy plik o rozmiarze 1 TB trwa około 23 minut.
-
Pamiętaj o następujących ograniczeniach:
- Użytkownicy i uprawnienia nie są migrowane. Aby przeprowadzić migrację identyfikatorów logowania po zakończeniu operacji importowania, należy ręcznie zrzucić użytkowników i uprawnienia.
- Wysoka dostępność nie jest dostępna podczas importowania, dlatego włącz wysoką dostępność po zakończeniu migracji.
Po migracji użytkowników i uprawnień połącz aplikacje z serwerem elastycznym, a migracja zostanie ukończona.
Napiwek
Alternatywnie, jeśli przeprowadzałeś migrację online, wykonałbyś eksport i import, jak wyjaśniono wcześniej, a następnie skonfigurowałbyś replikację ze źródła do miejsca docelowego. Gdy docelowy system w pełni dogonił źródło, należy przełączyć aplikację przed zamknięciem źródłowej bazy danych.