Sdílet prostřednictvím


Migrace místní úlohy MySQL nebo úlohy virtuálního počítače do Služby Azure Database for MySQL pomocí rozhraní příkazového řádku importu Služby Azure Database for MySQL

Import služby Azure Database for MySQL pro externí migrace umožňuje bezproblémově migrovat úlohy místního MySQL nebo virtuálního počítače na flexibilní server Azure Database for MySQL. Používá uživatelem poskytnutý fyzický záložní soubor a obnoví fyzické datové soubory zdrojového serveru na cílový server a nabízí jednoduchou a rychlou cestu migrace. Po importu můžete využít výhod flexibilního serveru, mezi které patří lepší cena a výkon, podrobná kontrola konfigurace databáze a vlastní časová období údržby.

Na základě uživatelských vstupů převezme odpovědnost za zřízení cílového flexibilního serveru a následné obnovení fyzické zálohy zdrojového serveru uloženého v účtu azure Blob Storage do cílové instance flexibilního serveru.

V tomto kurzu se dozvíte, jak pomocí příkazu Azure Database for MySQL Import CLI migrovat místní úlohy MySQL nebo virtuálního počítače do flexibilního serveru Azure Database for MySQL.

Spuštění služby Azure Cloud Shell

Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít ke spuštění kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Pokud chcete otevřít Cloud Shell, vyberte Vyzkoušet v pravém horním rohu bloku kódu. Cloud Shell můžete otevřít také na samostatné kartě prohlížeče tak, že přejdete na https://shell.azure.com/bash. Výběrem možnosti Kopírovat zkopírujte bloky kódu, vložte ho do Cloud Shellu a stisknutím klávesy Enter ho spusťte.

Pokud chcete rozhraní příkazového řádku nainstalovat a používat místně, tento kurz vyžaduje Azure CLI verze 2.54.0 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Nastavení

Ke svému účtu se musíte přihlásit pomocí příkazu az sign-in . Poznamenejte si vlastnost ID, která odkazuje na ID předplatného vašeho účtu Azure.

az login

V rámci svého účtu vyberte konkrétní předplatné, ve kterém chcete nasadit cílový flexibilní server pomocí příkazu az account set . Poznamenejte si hodnotu ID z příkazu az login output, která se má použít jako hodnota argumentu předplatného v příkazu. Pokud chcete získat všechna předplatná, použijte příkaz az account list.

az account set --subscription <subscription id>

Požadavky

  • Zdrojový server by měl mít následující parametry:

    • Lower_case_table_names = 1
    • Innodb_file_per_table = ZAPNUTO
    • Název systémového tabulkového prostoru by měl být ibdata1.
    • Velikost systémového prostoru tabulky by měla být větší nebo rovna 12 MB. (Výchozí mySQL)
    • Innodb_page_size = 16348 (výchozí mySQL)
    • Podporuje se pouze modul INNODB.
  • Pomocí Percona XtraBackup proveďte fyzickou zálohu úlohy MySQL. K provedení úplného zálohování použijte Percona XtraBackup následující kroky:

    • Nainstalujte Percona XtraBackup na místní úlohy nebo úlohy virtuálního počítače. Pro modul MySQL verze v5.7 nainstalujte Percona XtraBackup verze 2.4, viz Instalace Percona XtraBackup 2.4. Pro modul MySQL verze v8.0 nainstalujte Percona XtraBackup verze 8.0, viz Instalace Percona XtraBackup 8.0.

    • Pokyny k provedení úplné zálohy pomocí nástroje Percona XtraBackup 2.4 najdete v tématu Úplné zálohování. Pokyny k provedení úplného zálohování pomocí nástroje Percona XtraBackup 8.0 najdete v tématu [Úplné zálohování] (https://docs.percona.com/percona-xtrabackup/8.0/create-full-backup.html). Při úplném zálohování spusťte následující příkazy v uvedeném pořadí:

      • ** xtrabackup --backup --host={host} --user={user} --password={password} --target-dir={backup__dir_path}**
      • ** xtrabackup --prepare --{backup_dir_path}** (Zadejte stejnou cestu zálohování jako v předchozím příkazu).
    • Důležité informace při užívání percona XtraBackup:

      • Ujistěte se, že spouštíte zálohování i přípravný krok.
      • Ujistěte se, že v zálohování nedošlo k žádným chybám, a ujistěte se, že krok přípravy neobsahuje žádné chyby.
      • Uchovávejte protokoly kroků zálohování a přípravy pro podporu Azure, které se vyžadují v případě selhání.

      Důležité

      Pokus o přístup k poškozeným tabulkám importovaným ze zdrojového serveru může způsobit chybové ukončení flexibilního serveru. V důsledku toho se před provedením zálohování pomocí nástroje Percona XtraBackup důrazně doporučuje provést operaci mysqlcheck / Optimize Table na zdrojovém serveru.

  • Vytvořte kontejner objektů blob Azure a získejte token sdíleného přístupového podpisu (SAS) (Azure Portal nebo Azure CLI) pro kontejner. Ujistěte se, že jste v rozevíracím seznamu Oprávnění udělili možnost Přidat, Vytvořit a Zapisovat. Zkopírujte a vložte hodnoty tokenu SAS objektu blob a adresy URL do zabezpečeného umístění. Zobrazí se jenom jednou a po zavření okna se nedá načíst.

  • Nahrajte úplný záložní soubor v umístění {backup_dir_path} do služby Azure Blob Storage. K nahrání souboru použijte tento postup.

  • Pokud chcete provést online migraci, zachyťte a uložte umístění protokolu přihrádky záložního souboru pořízeného pomocí nástroje Percona XtraBackup spuštěním příkazu cat xtrabackup_info a zkopírováním výstupu bin_log pos.

  • Účet úložiště Azure by měl být veřejně přístupný pomocí tokenu SAS. Účet úložiště Azure s konfigurací virtuální sítě se nepodporuje.

Omezení

  • Konfigurace zdrojového serveru se nemigruje. Cílový flexibilní server musíte odpovídajícím způsobem nakonfigurovat.
  • Migrace šifrovaných záloh se nepodporuje.
  • Uživatelé a oprávnění se nemigrují jako součást importu služby Azure Database for MySQL. Před zahájením importu služby Azure Database for MySQL Import musíte před zahájením importu uživatelů a oprávnění provést ruční výpis přihlašovacích údajů tím, že je obnovíte na cílovém flexibilním serveru.
    • user1@localhost nejde migrovat, protože nepodporujeme vytváření uživatelů localhost na flexibilním serveru.
  • Flexibilní servery s povolenou vysokou dostupností se vrací jako servery se zakázanými vysokou dostupností, aby se po migraci importu zvýšila rychlost operace migrace. Povolte vysokou dostupnost pro cílový flexibilní server po migraci.

Doporučení pro optimální prostředí migrace

  • Zvažte zachování účtu služby Azure Blob Storage a cílového flexibilního serveru, který se má nasadit ve stejné oblasti, aby byl výkon importu lepší.
  • Doporučená konfigurace skladové položky pro cílový flexibilní server Azure Database for MySQL –
    • Nastavení skladové položky s možností nárazového škálování pro cíl se nedoporučuje optimalizovat čas migrace při spuštění operace importu služby Azure Database for MySQL. Doporučujeme škálovat na úroveň Pro obecné účely nebo Pro důležité obchodní informace pro průběh operace importu, po které můžete vertikálně snížit kapacitu na skladovou položku s možností nárazového škálování.

Aktivace operace importu služby Azure Database for MySQL z flexibilního serveru Azure Database for MySQL

Pomocí příkazu aktivujte operaci importu az mysql flexible-server import create azure Database for MySQL. Následující příkaz vytvoří cílový flexibilní server a provede import na úrovni instance ze záložního souboru do cílového cíle pomocí místního kontextu Azure CLI:

az mysql flexible-server import create --data-source-type
                                --data-source
                                --data-source-sas-token
                                --resource-group
                                --name
                                --sku-name
                                --tier
                                --version
                                --location
                                [--data-source-backup-dir]
                                [--storage-size]
                                [--mode]
                                [--admin-password]
                                [--admin-user]
                                [--auto-scale-iops {Disabled, Enabled}]
                                [--backup-identity]
                                [--backup-key]
                                [--backup-retention]
                                [--database-name]
                                [--geo-redundant-backup {Disabled, Enabled}]
                                [--high-availability {Disabled, SameZone, ZoneRedundant}]
                                [--identity]
                                [--iops]
                                [--key]
                                [--private-dns-zone]
                                [--public-access]
                                [--resource-group]
                                [--standby-zone]
                                [--storage-auto-grow {Disabled, Enabled}]
                                [--subnet]
                                [--subnet-prefixes]
                                [--tags]
                                [--vnet]
                                [--zone]

The following example takes in the data source information for your source MySQL server's backup file and target Flexible Server information, creates a target Flexible Server named `test-flexible-server` in the `westus` location and performs an import from backup file to target.

azurecli-interactive
az mysql flexible-server import create --data-source-type "azure_blob" --data-source "https://onprembackup.blob.core.windows.net/onprembackup" --data-source-backup-dir "mysql_backup_percona" –-data-source-token "{sas-token}" --resource-group "test-rg"  --name "test-flexible-server" –-sku-name Standard_D2ds_v4  --tier GeneralPurpose –-version 5.7 -–location "westus"

Tady jsou podrobnosti pro výše uvedené argumenty:

Nastavení Ukázková hodnota Popis
typ zdroje dat azure_blob Typ zdroje dat, který slouží jako zdrojový cíl pro aktivaci importu služby Azure Database for MySQL. Přijaté hodnoty: [azure_blob]. Popis přijatých hodnot – azure_blob: Azure Blob Storage.
zdroj dat {resourceID} ID prostředku kontejneru objektů blob Azure.
data-source-backup-dir mysql_percona_backup Adresář kontejneru azure Blob Storage, do kterého byl nahrán záložní soubor. Tato hodnota se vyžaduje jenom v případě, že záložní soubor není uložený v kořenové složce kontejneru objektů blob Azure.
data-source-sas-token {sas-token} Token sdíleného přístupového podpisu (SAS) vygenerovaný pro udělení přístupu k importu z kontejneru azure Blob Storage.
resource-group test-rg Název skupiny prostředků Azure cílového flexibilního serveru Azure Database for MySQL
režim Režim offline Režim importu služby Azure Database for MySQL Přijaté hodnoty: [Offline]; Výchozí hodnota: Offline.
location westus Umístění Azure pro zdrojový flexibilní server Azure Database for MySQL.
name test-flexible-server Zadejte jedinečný název cílového flexibilního serveru Azure Database for MySQL. Název serveru může obsahovat pouze malá písmena, číslice a znak spojovníku (-). Musí se skládat ze 3 až 63 znaků. Poznámka: Tento server je nasazen ve stejném předplatném, skupině prostředků a oblasti jako zdroj.
admin-user adminuser Uživatelské jméno pro přihlášení správce k cílovému flexibilnímu serveru Azure Database for MySQL Nemůže to být azure_superuser, správce, správce, kořen, host nebo veřejné.
admin-password *heslo- Heslo uživatele správce pro cílový flexibilní server Azure Database for MySQL. Musí mít 8 až 128 znaků. Heslo musí obsahovat znaky ze tří kategorií: velká písmena anglické abecedy, malá písmena anglické abecedy, číslice a neosamocené znaky.
sku-name GP_Gen5_2 Zadejte název cenové úrovně a konfigurace výpočetních prostředků pro cílový flexibilní server Azure Database for MySQL. Dodržuje konvenci {cenová úroveň}{výpočetní generace}{virtuální jádra} ve zkráceném zápisu. Další informace najdete v cenových úrovních.
úroveň Se zvládáním nárazových špiček Úroveň výpočetních prostředků cílového flexibilního serveru Azure Database for MySQL Přijaté hodnoty: Burstable, GeneralPurpose, MemoryOptimized; Výchozí hodnota: Nárazová.
veřejný přístup 0.0.0.0 Určuje veřejný přístup pro cílový flexibilní server Azure Database for MySQL. Zadejte jeden nebo rozsah IP adres, které se mají zahrnout do seznamu povolených IP adres. Rozsahy IP adres musí být oddělené pomlčkou a nesmí obsahovat žádné mezery. Zadáním 0.0.0.0.0 povolíte veřejný přístup ze všech prostředků nasazených v Rámci Azure pro přístup k vašemu serveru. Nastavení na Hodnotu None nastaví server v režimu veřejného přístupu, ale nevytvoří pravidlo brány firewall.
Virtuální síť myVnet Název nebo ID nové nebo existující virtuální sítě Pokud chcete použít virtuální síť z jiné skupiny prostředků nebo předplatného, zadejte ID prostředku. Název musí mít délku 2 až 64 znaků. Název musí začínat písmenem nebo číslem, končí písmenem, číslicí nebo podtržítkem a může obsahovat pouze písmena, číslice, podtržítka, tečky nebo pomlčky.
podsíť mySubnet Název nebo ID prostředku nové nebo existující podsítě Pokud chcete použít podsíť z jiné skupiny prostředků nebo předplatného, zadejte místo názvu ID prostředku. Podsíť se deleguje na flexibilní servery. Po delegování se tato podsíť nedá použít pro žádný jiný typ prostředků Azure.
private-dns-zone myserver.private.contoso.com Název nebo ID nové nebo existující zóny privátního dns. Privátní zónu DNS můžete použít ze stejné skupiny prostředků, jiné skupiny prostředků nebo jiného předplatného. Pokud chcete použít zónu z jiné skupiny prostředků nebo předplatného, zadejte ID prostředku. Rozhraní příkazového řádku vytvoří novou privátní zónu DNS ve stejné skupině prostředků jako virtuální síť, pokud ji uživatelé nezadá.
key identifikátor klíče testKey ID prostředku primárního klíče služby keyvault pro šifrování dat.
Identity testIdentity Název nebo ID prostředku identity přiřazené uživatelem pro šifrování dat.
velikost úložiště 32 Kapacita úložiště cílového flexibilního serveru Azure Database for MySQL Minimum je 20 GiB a max je 16 TiB.
značky key=value Zadejte název skupiny prostředků Azure.
version 5.7 Hlavní verze cílového flexibilního serveru Azure Database for MySQL
vysoká dostupnost ZoneRedundant Povolte (ZoneRedundant nebo SameZone) nebo zakažte funkci vysoké dostupnosti pro cílový flexibilní server Azure Database for MySQL. Přijaté hodnoty: Disabled, SameZone, ZoneRedundant; Výchozí hodnota: Zakázáno.
zóna 0 Zóna dostupnosti, do které se má prostředek zřídit.
pohotovostní zóna 3 Informace o zóně dostupnosti pohotovostního serveru, pokud je povolená vysoká dostupnost.
automatické zvětšování úložiště Povoleno Povolte nebo zakažte automatické zvětšování úložiště pro cílový flexibilní server Azure Database for MySQL. Výchozí hodnota je Povoleno. Přijaté hodnoty: Zakázáno, Povoleno; Výchozí hodnota: Povoleno.
IOPS 500 Počet IOPS, které se mají přidělit cílovému flexibilnímu serveru Azure Database for MySQL Na základě zřízeného výpočetního výkonu a úložiště získáte určitou část bezplatných IOPS. Výchozí hodnota IOPS je bezplatná IOPS. Další informace o IOPS na základě výpočetních prostředků a úložiště najdete na flexibilním serveru Azure Database for MySQL v IOPS.

Migrace na flexibilní server s minimálními výpadky

Pokud chcete provést online migraci po dokončení počátečního počátečního seedingu ze záložního souboru pomocí importu azure Database for MySQL, můžete nakonfigurovat replikaci dat mezi zdrojem a cílem pomocí následujícího postupu. Umístění protokolu přihrádky zachycené při pořizování záložního souboru pomocí nástroje Percona XtraBackup můžete použít k nastavení replikace na základě pozice protokolu přihrádky.

Jak dlouho trvá migrace instance MySQL do služby Azure Database for MySQL?

Srovnávací výkon na základě velikosti úložiště

Velikost úložiště záložních souborů Čas importu
1 GiB 0 min. 23 sekund
10 GiB 4 min. 24 sekund
100 GiB 10 minut 29 sekund
500 GiB 13 minut 15 sekund
1 TB 22 minut 56 sekund
10 TB 2 hod. 5 minut 30 sekund

S rostoucí velikostí úložiště se také zvyšuje doba potřebná pro kopírování dat, téměř v lineární relaci. Je ale důležité si uvědomit, že kolísání sítě může výrazně ovlivnit rychlost kopírování. Proto by zde uvedená data měla být považována pouze za odkaz.

Další krok