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.