Eseguire la migrazione di Database di Azure per MySQL da Server singolo a Server flessibile usando l'interfaccia della riga di comando di importazione di Database di Azure per MySQL

SI APPLICA A: Database di Azure per MySQL - Server singolo

L'interfaccia della riga di comando di importazione di Database di Azure per MySQL (disponibile a livello generale) consente di eseguire facilmente la migrazione del dal server singolo di database di Azure per MySQL al server flessibile. Usa la tecnologia di backup e ripristino degli snapshot per offrire un percorso di migrazione semplice e veloce per ripristinare i file di dati fisici del server di origine nel server di destinazione. Dopo l'importazione, è possibile sfruttare i vantaggi di Server flessibile, tra cui prezzi e prestazioni migliori, un controllo granulare sulla configurazione del database e finestre di manutenzione personalizzate.

In base agli input utente, assume la responsabilità di effettuare il provisioning del server flessibile di destinazione e quindi di eseguire il backup del server di origine e ripristinare la destinazione. Copia i file di dati, i parametri del server, le regole del firewall compatibili e le proprietà del server: livello, versione, sku-name, dimensione memoria, posizione, backup con ridondanza geografica, accesso pubblico, tag, aumento automatico, giorni di conservazione dei backup, utente amministratore e password amministratore dal server singolo all'istanza del server flessibile.

L'interfaccia della riga di comando di importazione di Database di Azure per MySQL supporta una migrazione di tempo di inattività pari quasi zero eseguendo prima un'operazione di importazione offline in modo che gli utenti possano configurare la replica dei dati tra origine e destinazione per eseguire una migrazione online.

Questa esercitazione illustra come usare il comando dell'interfaccia della riga di comando di importazione di Database di Azure per MySQL per eseguire la migrazione del server singolo di Database di Azure per MySQL al server flessibile.

Novità

  • Ora è supportata l'operazione di importazione di Database di Azure per MySQL per server singoli con architettura di archiviazione legacy (archiviazione per utilizzo generico V1). È necessario impostare il parametro log_bin=ON per l'istanza del server singolo con archiviazione legacy prima di avviare l'operazione di importazione. A tale scopo, creare una replica di lettura per l'istanza del server singolo, quindi eliminarla. Questa operazione imposta il parametro log_bin su ON ed è quindi possibile attivare un'operazione di importazione per eseguire la migrazione al server flessibile. (Feb 2024)

Avviare Azure Cloud Shell

Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.

Per aprire Cloud Shell, selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile aprire Cloud Shell in una scheda separata del browser visitando https://shell.azure.com/bash. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.

Se si preferisce installare e usare l'interfaccia della riga di comando in locale, per questa esercitazione è richiesta l'interfaccia della riga di comando di Azure versione 2.54.0 o successiva. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Attrezzaggio

È necessario accedere all'account usando il comando az sign-in. Prendere nota dell'ID proprietà che fa riferimento all'ID sottoscrizione dell'account Azure.

az login

Selezionare la sottoscrizione specifica in cui risiede il server singolo di Database di Azure per MySQL di origine usando il comando az account set . Prendere nota del valore dell'ID dell'output di az login da usare come valore per l'argomento subscription nel comando. Se si dispone di più sottoscrizioni, scegliere la sottoscrizione appropriata in cui risiede il server singolo di Database di Azure per MySQL di origine. Per ottenere tutte le sottoscrizioni, usare az account list.

az account set --subscription <subscription id>

Limitazioni e prerequisiti

  • Se l'istanza del server singolo di Database di Azure per MySQL di origine dispone della versione del motore v8.x, assicurarsi di aggiornare la versione del driver client .NET del server di origine alla versione 8.0.32 per evitare eventuali incompatibilità di codifica dopo la migrazione al server flessibile.

  • Il server singolo di Database di Azure per MySQL di origine e il server flessibile di Database di Azure per MySQL di destinazione devono trovarsi nella stessa sottoscrizione, gruppo di risorse, area geografica e nella stessa versione di MySQL. L'importazione tra sottoscrizioni, gruppi di risorse, aree e versioni non è possibile.

  • Le versioni di MySQL supportate dall'interfaccia della riga di comando di importazione di Database di Azure per MySQL sono 5.7 e 8.0. Se si usa una versione principale diversa di MySQL nel server singolo, assicurarsi di aggiornare la versione nell'istanza di Server singolo prima di attivare il comando di importazione.

  • Se nell'istanza del server singolo di Database di Azure per MySQL il parametro server 'lower_case_table_names' è impostato su 2 e l'applicazione usa le tabelle di partizione, l'operazione di importazione genererà tabelle di partizione danneggiate. È consigliabile impostare "lower_case_table_names" su 1 nell'istanza di server singolo di Database di Azure per MySQL per procedere con l'operazione di importazione MySQL senza danneggiamento die dati.

  • L'importazione in un server flessibile di Azure MySQL esistente non è supportata. Il comando dell'interfaccia della riga di comando avvia l'importazione di un nuovo server flessibile di Azure MySQL.

  • Se viene effettuato il provisioning del server di destinazione flessibile come un server che non ha disponibilità elevata (disponibilità elevata disabilitata) quando si aggiornano i parametri del comando dell'interfaccia della riga di comando, è possibile passare successivamente alla disponibilità elevata della stessa zona, ma non alla disponibilità elevata con ridondanza della zona.

  • Per le istanze del server singolo abilitate per la chiave gestita dal cliente, il comando importazione di Database di Azure per MySQL richiede di fornire parametri di input obbligatori per abilitare la chiave gestita dal cliente nel server flessibile di destinazione.

  • Se nell'istanza del server singolo la 'doppia crittografia dell'infrastruttura' è abilitata, è consigliabile abilitare la chiave gestita dal cliente nell'istanza del server flessibile di destinazione per supportare funzionalità simili. È possibile scegliere di abilitare la chiave gestita dal cliente nel server di destinazione con i parametri di input dell'interfaccia della riga di comando di importazione di Database di Azure per MySQL o dopo la migrazione.

  • Se l'istanza del server singolo è abilitata per 'Query Store', è consigliabile abilitare i log di query lente nell'istanza del server flessibile di destinazione per supportare funzionalità simili. È possibile configurare i log di query lente nel server flessibile di destinazione seguendo questa procedura. È quindi possibile visualizzare informazioni dettagliate sulle query usando il modello di cartelle di lavoro.

  • Se l'istanza del server singolo ha un'architettura di archiviazione legacy (archiviazione per utilizzo generico V1), è necessario impostare il parametro log_bin=ON per l'istanza del server singolo prima di avviare l'operazione di importazione. A tale scopo, creare una replica di lettura per l'istanza del server singolo, quindi eliminarla. Questa operazione imposta il parametro log_bin su ON ed è quindi possibile attivare un'operazione di importazione per eseguire la migrazione al server flessibile.

  • Se nell'istanza del server singolo Advanced Threat Protection è abilitato, è necessario abilitare Advanced Threat Protection nell'istanza del server flessibile migrata dopo la migrazione seguendo la procedura [qui] (/azure/mysql/flexible-server/advanced-threat-protection-setting?view=azure-cli-latest).

  • Se la versione del motore dell'istanza del server singolo è v8.0, è consigliabile eseguire le azioni seguenti per evitare modifiche di rilievo a causa delle differenze di versione secondaria della community tra l'istanza del server singolo e quello flessibile :

    • Eseguire l'istruzione seguente per verificare se l'istanza potrebbe essere interessata da informazioni errate sull'istogramma. Se vengono restituite le tabelle corrispondenti, è consigliabile fare riferimento a https://dev.mysql.com/blog-archive/histogram-statistics-in-mysql/ per eliminare le informazioni sull'istogramma e ricrearlo nel server flessibile. Vale la pena notare che l'istogramma INF rappresenta solo informazioni statistiche sulle colonne e queste informazioni sono presenti solo nelle tabelle di sistema, quindi l'eliminazione delle informazioni dell'istogramma non influirà sui dati della tabella.

          SELECT DISTINCT SCHEMA_NAME, TABLE_NAME FROM `information_schema`.`column_statistics`;
      
    • Eseguire il comando seguente per verificare la presenza di tabelle che potrebbero avere un ordine di colonna di tabella disorganizzato. Se questo controllo identifica eventuali tabelle interessate, è necessario eseguire il dump di tutti i dati da queste tabelle e quindi importarli di nuovo. In caso contrario, è possibile che la sequenza di colonne nel binlog non corrisponda alla sequenza di colonne nelle tabelle utente. Questa discrepanza può impedire agli utenti di configurare la replica, ripristinare i dati, abilitare la disponibilità elevata e altre operazioni.

          SELECT table_schema, table_name, COUNT(*) AS column_count, MAX(ORDINAL_POSITION) AS max_ordinal_position
          FROM information_schema.columns
          GROUP BY table_schema, table_name
          HAVING column_count != max_ordinal_position;
      
  • È supportata solo l'importazione a livello di istanza. Non è disponibile alcuna opzione per importare i database selezionati all'interno di un'istanza.

  • Gli elementi seguenti devono essere copiati dall'origine alla destinazione dall'utente dopo l'operazione di importazione:

    • Repliche in lettura
    • Impostazioni della pagina monitoraggio (avvisi, metriche e impostazioni di diagnostica)
    • Tutti gli script di Terraform/interfaccia della riga di comando ospitati dall'utente per gestire l'istanza del server singolo devono essere aggiornati con riferimenti al server flessibile

Attivare un'operazione di importazione di Database MySQL di Azure per eseguire la migrazione da Server singolo di Database MySQL di Azure a Server flessibile

Attivare un'operazione di importazione di Database MySQL di Azure con il comando az mysql flexible-server import create. Il comando seguente crea un server flessibile di destinazione ed esegue l'importazione a livello di istanza dall'origine alla destinazione usando i valori e le impostazioni predefinite del servizio dal contesto locale dell'interfaccia della riga di comando di Azure:

az mysql flexible-server import create --data-source-type
                                --data-source
                                --resource-group
                                --name
                                [--sku-name]
                                [--tier]
                                [--version]
                                [--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]
                                [--location]
                                [--private-dns-zone]
                                [--public-access]
                                [--resource-group]
                                [--standby-zone]
                                [--storage-auto-grow {Disabled, Enabled}]
                                [--subnet]
                                [--subnet-prefixes]
                                [--tags]
                                [--vnet]
                                [--zone]

Nell'esempio seguente vengono fornite informazioni sull'origine dati del server singolo denominato "test-single-server" e le informazioni sul server flessibile di destinazione, viene creato un server flessibile di destinazione denominato test-flexible-server nel percorso westus (lo stesso percorso del server singolo di origine); inoltre viene eseguita un'importazione dall'origine alla destinazione. Il comando di importazione MySQL del database di Azure esegue il mapping del livello, della versione, dello sku-name, delle dimensioni di archiviazione, della posizione, del backup con ridondanza geografica, dell'accesso pubblico, dei tag, dell'aumento automatico, della conservazione dei backup, dei giorni di conservazione dei backup, delle proprietà di utente amministratore e password amministratore dal server singolo al server flessibile come impostazioni predefinite intelligenti se non vengono forniti input al comando dell'interfaccia della riga di comando. È possibile scegliere di eseguire l'override delle impostazioni predefinite intelligenti fornendo input per questi parametri facoltativi.

az mysql flexible-server import create --data-source-type "mysql_single" --data-source "test-single-server" --resource-group "test-rg"  --name "test-flexible-server"

Nell'esempio seguente vengono fornite informazioni sull'origine dati del server singolo denominato "test-single-server" e le informazioni sul server flessibile di destinazione, viene creato un server flessibile di destinazione denominato test-flexible-server nel percorso westus (lo stesso percorso del server singolo di origine) con l'abilitazione della ridondanza della zona e con l'integrazione della rete virtuale; inoltre viene eseguita un'importazione dall'origine alla destinazione. Altre informazioni sulla configurazione della rete virtuale sono disponibili qui.

# create vnet
az network vnet create --resource-group testGroup --name myVnet --location testLocation --address-prefixes 172.0.0.0/16

# create subnet
az network vnet subnet create --resource-group testGroup --vnet-name myVnet --address-prefixes 172.0.0.0/24 --name mySubnet

# create private dns zone
az network private-dns zone create -g testGroup -n myserver.private.contoso.com

# trigger mysql import
az mysql flexible-server import create --data-source-type "mysql_single" --data-source "test-single-server" --resource-group "test-rg"  --name "test-flexible-server" --high-availability ZoneRedundant --zone 1 --standby-zone 3  --vnet "myVnet" --subnet "mySubnet" --private-dns-zone "myserver.private.contoso.com"

Nell'esempio seguente vengono fornite le informazioni sull'origine dati del server singolo denominato "test-single-server" con l'abilitazione della chiave gestita dal cliente (CMK) e le informazioni sul server flessibile di destinazione, viene creato un server flessibile di destinazione denominato test-flexible-server e viene eseguita un'importazione dall'origine alla destinazione. Per le istanze del server singolo abilitate per la chiave gestita dal cliente, il comando di importazione di Database di Azure per MySQL richiede di fornire parametri di input obbligatori per abilitare la chiave gestita dal cliente : --key keyIdentifierOfTestKey --identity testIdentity.

# create keyvault
az keyvault create -g testGroup -n testVault --location testLocation \
  --enable-purge-protection true

# create key in keyvault and save its key identifier
keyIdentifier=$(az keyvault key create --name testKey -p software \
  --vault-name testVault --query key.kid -o tsv)

# create identity and save its principalId
identityPrincipalId=$(az identity create -g testGroup --name testIdentity \
  --location testLocation --query principalId -o tsv)

# add testIdentity as an access policy with key permissions 'Wrap Key', 'Unwrap Key', 'Get' and 'List' inside testVault
az keyvault set-policy -g testGroup -n testVault --object-id $identityPrincipalId \
  --key-permissions wrapKey unwrapKey get list

# trigger azure database for mysql import for CMK enabled single server
az mysql flexible-server import create --data-source-type "mysql_single" --data-source "test-single-server" --resource-group "test-rg"  --name "test-flexible-server" --key $keyIdentifier --identity testIdentity

Ecco i dettagli per gli argomenti indicati in precedenza:

Impostazione Valore di esempio Descrizione
tipo di origine dati mysql_single Tipo di origine dati che funge da destinazione dell'origine per l'attivazione dell'importazione di Database MySQL di Azure. Valori accettati: [mysql_single]. Descrizione dei valori accettati- mysql_single: Server singolo di Database di Azure per MySQL.
origine-dati test-single-server Nome o ID risorsa del server singolo di origine di Database di Azure per MySQL.
resource-group test-rg Nome del gruppo di risorse di Azure del server singolo di origine di Database di Azure per MySQL.
mode Offline Modalità di importazione di Database MySQL di Azure. Valori accettati: [Offline]; Valore predefinito: Offline.
location westus Percorso di Azure per Sever singolo di Database MySQL di Azure di origine.
name test-flexible-server Immettere un nome univoco per il server flessibile di destinazione di Database MySQL di Azure. Il nome del server può contenere solo lettere minuscole, numeri e il segno meno (-) e deve avere una lunghezza compresa tra 3 e 63 caratteri. Nota: questo server viene distribuito nella stessa sottoscrizione, nello stesso gruppo di risorse e nella stessa area dell'origine.
admin-user adminuser Nome utente per l'accesso dell'amministratore per il server flessibile di Database MySQL di Azure di destinazione. Non può essere azure_superuser, admin, administrator, root, guest o public.
admin-password password Password dell'utente amministratore per il server flessibile di Database MySQL di Azure di destinazione. Deve contenere tra 8 e 128 caratteri. La password deve contenere caratteri di tre delle categorie seguenti: lettere maiuscole dell'alfabeto inglese, lettere minuscole dell'alfabeto inglese, numeri e caratteri non alfanumerici.
sku-name GP_Gen5_2 Immettere il nome del piano tariffario e della configurazione di calcolo per il server flessibile di Database MySQL di Azure di destinazione. Segue la convenzione {piano tariffario}{generazione di calcolo}{Vcore} in sintassi abbreviata. Per altre informazioni, vedere i piani tariffari.
livello Con possibilità di burst Livello di calcolo del server flessibile di Database MySQL di Azure di destinazione. Valori accettati: Burstable, GeneralPurpose, MemoryOptimized; Valore predefinito: Burstable.
public-access 0.0.0.0 Determina l'accesso pubblico per il server flessibile di Database MySQL di Azure di destinazione. Immettere un singolo o intervallo di indirizzi IP da includere nell'elenco degli indirizzi IP consentiti. Gli intervalli di indirizzi IP devono essere separati da trattini e non contenere spazi. Se si specifica 0.0.0.0.0, l'accesso pubblico al server viene concesso da qualsiasi risorsa distribuita in Azure. Se si imposta su "Nessuno", il server viene impostato in modalità di accesso pubblico, ma non crea una regola del firewall.
rete virtuale myVnet Nome o ID di una rete virtuale nuova o esistente. Per usare una rete virtuale da un gruppo di risorse o una sottoscrizione diversi, specificare un'ID risorsa. che deve essere composto da un numero di caratteri compreso tra 2 e 64. Il nome deve iniziare con una lettera o un numero, terminare con una lettera, un numero o un carattere di sottolineatura e può contenere solo lettere, numeri, caratteri di sottolineatura, punti e trattini.
Subnet mySubnet Nome o ID risorsa di una subnet nuova o esistente. Per usare una subnet da un gruppo di risorse o una sottoscrizione diversi, specificare l'ID risorsa anziché il nome. La subnet verrà delegata a flexibleServers. Dopo la delega, la subnet non può essere usata per altri tipi di risorse di Azure.
private-dns-zone myserver.private.contoso.com Nome o ID della zona DNS privata nuova o esistente. È possibile usare la zona DNS privata dallo stesso gruppo di risorse, da un gruppo di risorse diverso o da una sottoscrizione diversa. Per usare una zona da un gruppo di risorse o una sottoscrizione diversi, specificare l'ID risorsa. L'interfaccia della riga di comando crea una nuova zona DNS privata all'interno dello stesso gruppo di risorse della rete virtuale, se non è stata fornita dagli utenti.
key identificatore chiave di testKey ID risorsa della chiave primaria dell'insieme di credenziali delle chiavi per la crittografia dei dati.
identity testIdentity Nome o ID risorsa dell'identità assegnata dall'utente per la crittografia dei dati.
storage-size 32 Capacità di archiviazione del server flessibile di Database MySQL di Azure di destinazione. La capacità minima è 20 GiB, quella massima 16 TiB.
tag key=value Specificare il nome del gruppo di risorse di Azure.
versione 5.7 Versione principale server del server flessibile di Database MySQL di Azure di destinazione.
disponibilità elevata ZoneRedundant Abilitare (ZoneRedundant o SameZone) o disabilitare la funzionalità di disponibilità elevata per il server flessibile di Database MySQL di Azure di destinazione. Valori accettati: Disabled, SameZone, ZoneRedundant; Valore predefinito: Disabled.
zona 1 Zona di disponibilità in cui effettuare il provisioning della risorsa.
standby-zone 3 Informazioni sulla zona di disponibilità del server di standby quando è abilitata la disponibilità elevata.
storage-auto-grow Attivata Abilitare o disabilitare l'aumento automatico dello spazio di archiviazione per il server flessibile di Database MySQL di Azure di destinazione. Il valore predefinito è Enabled. Valori accettati: Disabled, Enabled; Valore predefinito: Abilitato.
iops 500 Numero di operazioni di I/O al secondo da allocare al server flessibile di Database MySQL di Azure di destinazione. Si ottiene una determinata quantità di operazioni di I/O al secondo gratuite in base alle risorse di calcolo e allo spazio di archiviazione di cui è stato effettuato il provisioning. Il valore predefinito per le operazioni di I/O al secondo è Free IOPS. Per altre informazioni sulle operazioni di I/O al secondo in base al calcolo e allo spazio di archiviazione, vedere Operazioni di I/O al secondo nel server flessibile di Database MySQL di Azure.

Passaggi per la migrazione online

Dopo aver completato l'operazione di importazione di Database di Azure per MySQL precedente:

  • Accedere al server flessibile di destinazione di Database di Azure per MySQL ed eseguire il comando seguente per ottenere il nome file del bin-log e la posizione corrispondente allo snapshot di backup usato dall'interfaccia della riga di comando di importazione di Database di Azure per MySQL per ripristinare il server di destinazione.
CALL mysql.az_show_binlog_file_and_pos_for_mysql_import();
  • Configurare la replica dei dati in ingresso tra le istanze del server di origine e di destinazione usando la posizione bin-log seguendo i passaggi elencati qui e quando lo stato della replica mostra che il server di destinazione ha raggiunto l'origine, arrestare la replica ed eseguire il cutover.

Procedure consigliate per la configurazione dei parametri dei comandi dell'interfaccia della riga di comando di importazione di Database di Azure per MySQL

Prima di attivare il comando dell'interfaccia della riga di comando di importazione di Database di Azure per MySQL, prendere in considerazione le indicazioni seguenti per la configurazione dei parametri in modo da garantire un caricamento più rapido dei dati tramite l'interfaccia della riga di comando di importazione di Database di Azure per MySQL.

  • Per eseguire l'override delle impostazioni predefinite intelligenti, selezionare il livello di calcolo e il nome dello SKU del server flessibile di destinazione in base al piano tariffario e ai VCore del server singolo di origine in base ai dettagli nella tabella seguente.

    Piano tariffario Server singolo vCore Server singolo Livello del server flessibile Nome SKU del server flessibile
    Di base 1 Con possibilità di burst Standard_B2ms
    Di base 2 Con possibilità di burst Standard_B2ms
    Utilizzo generico 4 Utilizzo generico Standard_D4ds_v4
    Utilizzo generico 8 Utilizzo generico Standard_D8ds_v4
    Utilizzo generico 16 Utilizzo generico Standard_D16ds_v4
    Utilizzo generico 32 Utilizzo generico Standard_D32ds_v4
    Utilizzo generico 64 Utilizzo generico Standard_D64ds_v4
    Con ottimizzazione per la memoria 4 MemoryOptimized Standard_E4ds_v4
    Con ottimizzazione per la memoria 8 MemoryOptimized Standard_E8ds_v4
    Con ottimizzazione per la memoria 16 MemoryOptimized Standard_E16ds_v4
    Con ottimizzazione per la memoria 32 MemoryOptimized Standard_E32ds_v4
  • La versione, l'area, la sottoscrizione e la risorsa MySQL del server flessibile di destinazione devono essere uguali a quella del server singolo di origine.

  • Le dimensioni di archiviazione per il server flessibile di destinazione devono essere uguali o superiori a quelle del server singolo di origine.

  • Se nell'istanza del server singolo la 'doppia crittografia dell'infrastruttura' è abilitata, è consigliabile abilitare la chiave gestita dal cliente nell'istanza del server flessibile di destinazione per supportare funzionalità simili. È possibile scegliere di abilitare la chiave gestita dal cliente nel server di destinazione con i parametri di input dell'interfaccia della riga di comando di importazione di Database di Azure per MySQL o dopo la migrazione.

Quanto tempo impiega l'importazione di Database MySQL di Azure per eseguire la migrazione dell'istanza di Server singolo?

Di seguito sono riportate le prestazioni con benchmark in base alle dimensioni di archiviazione relativamente all'architettura di archiviazione V2 per utilizzo generico. La migrazione dei server con archiviazione per utilizzo generico V1 richiederà più tempo perché comporta anche l'aggiornamento dell'architettura di archiviazione.

Dimensioni di archiviazione del Server singolo Durata dell'importazione
1 GiB 0 min 23 sec
10 GiB 4 min e 24 sec
100 GiB 10 min 29 sec
500 GiB 13 min 15 sec
1 TB 22 min e 56 sec
10 TB 2 ore 5 min 30 sec

In base alla tabella di sopra, con l'aumentare delle dimensioni dell'archivio, aumenta anche il tempo necessario per copiare i dati, quasi in una relazione lineare. Tuttavia, è importante notare che la velocità di copia può essere significativamente influenzata dalle fluttuazioni di rete. Pertanto, i dati vengono forniti qui solo a titolo di riferimento.

Di seguito sono riportate le prestazioni con benchmark in base a un numero variabile di tabelle per le dimensioni di archiviazione di 10 GiB.

Numero di tabelle nell'istanza di Server singolo Durata dell'importazione
100 4 min e 24 sec
200 4 min e 40 sec
800 4 min e 52 sec
14.400 17 min e 41 sec
28.800 19 min e 18 sec
38.400 22 min e 50 sec

Con l'aumentare del numero di file, ogni file/tabella nel database potrebbe diventare molto piccolo. Ciò comporterà il trasferimento di una quantità coerente di dati, ma saranno presenti operazioni correlate ai file più frequenti, che potrebbero influire sulle prestazioni dell'importazione di Database di Azure per Mysql.

Passaggi successivi all'importazione

  • Copiare le proprietà seguenti dal server singolo di origine al server flessibile di destinazione dopo il completamento dell'operazione di importazione di Database di Azure per MySQL:
    • Repliche in lettura
    • Valore del parametro del server per event_scheduler
    • Impostazioni della pagina monitoraggio (avvisi, metriche e impostazioni di diagnostica)
    • Tutti gli script Terraform/CLI per gestire l'istanza di Server singolo devono essere aggiornati con riferimenti al Server flessibile.

Passaggio successivo