Introduzione a Database di Azure per MySQL

Completato

Database di Azure per MySQL può essere distribuito come server flessibile (anteprima) per ospitare il database MySQL delle organizzazioni in Azure. Si tratta di un database come servizio completamente gestito che può gestire carichi di lavoro cruciali con prestazioni prevedibili e scalabilità dinamica.

In qualità di sviluppatore di database con molti anni di esperienza nell'esecuzione e nella gestione delle installazioni MySQL locali, si vuole esplorare il modo in cui Database di Azure per MySQL supporta e ridimensiona le relative funzionalità.

In questa unità verranno esaminati i prezzi, il supporto delle versioni, la replica e le opzioni di ridimensionamento di Database di Azure per PostgreSQL.

Comprendere i vantaggi di Database di Azure per MySQL

Il provisioning di Database di Azure per MySQL viene effettuato come server di Database di Azure per MySQL. Il server di Database di Azure per MySQL equivale a un server MySQL locale e fornisce un punto centrale per amministrare più database MySQL.

Per creare un database di Database di Azure per MySQL, è prima necessario effettuare il provisioning di un database di Azure per il server MySQL. Un server di Database di Azure per MySQL è l'elemento padre di uno o più database e fornisce lo spazio dei nomi per i database. Se si elimina il server, verranno eliminati tutti i database in esso contenuti.

Che cosa offre il server di Database di Azure per MySQL?

Il servizio Database di Azure per MySQL include disponibilità elevata senza costi aggiuntivi e scalabilità in base alle esigenze. Paghi solo per quello che usi. Sono disponibili backup automatici con ripristino temporizzato.

Il server fornisce sicurezza della connessione per applicare regole del firewall e, facoltativamente, richiedere connessioni SSL. Numerosi parametri del server consentono di configurare le impostazioni del server, ad esempio le modalità di blocco, il numero massimo di connessioni e i timeout. Le modifiche apportate ai parametri contrassegnati come Dynamic diventano effettive immediatamente. I parametri statici richiedono un riavvio del server. Riavviare il server usando il pulsante Riavvia nella pagina Panoramica nel portale.

I server di Database di Azure per MySQL includono funzionalità di monitoraggio per aggiungere avvisi e visualizzare metriche e log.

Livelli di prezzo

I piani tariffari consentono un'ampia gamma di prestazioni e capacità da uno a 64 vCore e da 5 GB a 4 TB di spazio di archiviazione. Il piano tariffario basic è progettato per carichi di lavoro di calcolo leggeri e supporta fino a due vCore con 2 GB di memoria per core. Il piano tariffario per utilizzo generico è adatto alla maggior parte dei carichi di lavoro aziendali e supporta da due a 64 vCore con 5 GB di memoria per core. Il piano tariffario ottimizzato per la memoria supporta da due a 32 vCore, ha 10 GB di memoria per vCore ed è destinato a carichi di lavoro ad alte prestazioni, inclusa l'analisi dei dati in tempo reale. Anche se è possibile passare tra piani tariffari per utilizzo generico e ottimizzati per la memoria e modificare il numero di vCore o archiviazione in pochi secondi, non è possibile passare al piano tariffario basic.

Immagine che mostra i piani tariffari nel portale di Azure

Esistono limiti di connessione in base ai piani tariffari e al numero di vCore. Per altre informazioni, vedere limitazioni in Database di Azure per MySQL.

Controllo delle versioni e aggiornamenti

Database di Azure per MySQL supporta la versione 5.6 (con correzione di bug versione 5.6.42), 5.7 (con correzione di bug versione 5.7.24) e 8.0 (con correzione di bug versione 8.0.15).

Nota

Un gateway reindirizza le connessioni alle istanze del server. I client MySQL visualizzeranno la versione del gateway anziché la versione dell'istanza del server. Per visualizzare la versione dell'istanza del server, usare SELECT VERSION(); comando.

Le versioni delle correzioni di bug vengono applicate automaticamente, ma gli aggiornamenti delle versioni non sono supportati. Per eseguire l'aggiornamento da una versione a un'altra, è necessario eseguire un dump e un ripristino.

Scalabilità

Come accennato, non è possibile passare a o dal piano tariffario basic. È tuttavia possibile modificare il numero di vCore, la generazione dell'hardware, il volume di archiviazione e il periodo di conservazione dei backup. È anche possibile passare tra i piani tariffari per utilizzo generico e ottimizzato per la memoria.

Si noti che l'archiviazione viene aumentata solo, non ridotta e può essere impostata su aumento automatico. Se l'aumento automatico è abilitato, l'archiviazione aumenta di 5 GB quando lo spazio di archiviazione disponibile è minore di 1 GB o 10% di volume di archiviazione (a qualsiasi livello maggiore) per i server con meno di 100 GB di spazio di archiviazione. Per i server con più di 100 GB, l'archiviazione aumenta di 5% quando l'archiviazione disponibile è inferiore a 5%.

Disponibilità elevata

Database di Azure per MySQL include un contratto di servizio con supporto finanziario per la disponibilità di 99,99%. Se si verifica un errore hardware o una distribuzione del servizio, viene creato automaticamente un nuovo nodo e l'archiviazione viene collegata a questo nodo. Il failover verrà completato entro decine di secondi.

Se un'istanza del server di Database di Azure per MySQL viene ridimensionata o ridotta, si verifica un processo simile con l'archiviazione dei dati collegata alla nuova istanza. Se si verifica un failover, si verifica un aumento o una riduzione delle prestazioni o si verifica un'interruzione del traffico Internet tra il client e Azure, potrebbe verificarsi un errore di connettività temporaneo nel client. È importante avere la logica di ripetizione dei tentativi nelle applicazioni. Nel caso di un failover, un gateway indirizza il traffico al nuovo nodo senza alcuna configurazione necessaria nel client.

Per informazioni sulla gestione degli errori temporanei, vedere Gestione degli errori di connettività temporanei per Database di Azure per MySQL.

Replicare i dati in Database di Azure per MySQL

Replica dei dati in ingresso

La replica dei dati in ingresso usa la funzionalità di replica nativa di MySQL per replicare i dati da un server MySQL esterno in Database di Azure per MySQL. Ciò è utile se si vuole effettuare il provisioning di un ambiente ibrido con un'istanza mySQL locale esistente e una replica basata su Azure. Questo scenario fornisce dati locali agli utenti in un sistema distribuito a livello globale. È anche possibile usare la replica dei dati in ingresso per replicare i dati da una macchina virtuale o da un servizio di database MySQL ospitato da un altro provider di servizi cloud.

Considerazioni sulla replica dei dati in ingresso

Ecco alcuni fattori da considerare per la replica dei dati in ingresso:

  • I server master e di replica devono essere la stessa versione e almeno la versione 5.6.
  • Il master e la replica devono usare il motore InnoDB.
  • Ogni tabella deve avere una chiave primaria.
  • Il server database di Azure per MySQL deve avere un per utilizzo generico o un piano tariffario ottimizzato per la memoria .
  • È necessario disporre dei diritti per creare utenti e configurare la registrazione binaria nel server master.
  • Il del database di sistema mysql non viene replicato. Gli account e le autorizzazioni non vengono replicati dal server master alla replica e devono essere creati manualmente.

Passaggi per configurare la replica dei dati in ingresso

Esistono diversi passaggi per configurare la replica dei dati in ingresso:

  • Creare un database di Azure per il server MySQL da usare come host per la replica e creare gli account utente e i privilegi necessari.
  • Configurare la replica nel server master.
  • Eseguire il dump e ripristinare il server master.
  • Usare le stored procedure di replica dei dati in ingresso per configurare il server di destinazione.

Per altre informazioni, vedere Come configurare database di Azure per mySQL Data-in Replication.

Repliche in lettura

Le repliche in lettura usano la tecnologia di replica MySQL nativa per creare istanze di replica asincrone dei server di Database di Azure per MySQL. I server di replica sono di sola lettura e possono essere presenti fino a cinque repliche per ogni master. Per ogni replica in lettura, il costo mensile viene fatturato in base ai vCore e all'archiviazione usati.

Usi per le repliche in lettura

server di report

Creando una replica di sola lettura del server master, si indirizzano tutti i carichi di lavoro di report, BI e analitici alla replica. In questo modo il carico di lavoro viene rimosso dal server master e si riducono i conflitti mentre il server master esegue carichi di lavoro a elevato utilizzo di scrittura.

Portare i dati vicino agli utenti

È possibile creare repliche tra aree per avvicinare i dati agli utenti e migliorare le velocità di lettura. Le repliche tra aree possono trovarsi in un'area di replica universale o nell'area abbinata del server master. Le aree disponibili vengono elencate quando si crea un server di replica.

immagine che mostra le aree di replica

Configurare le repliche in lettura

È possibile configurare una replica di lettura nel portale di Azure:

immagine che mostra l'impostazione di replica nel portale di Azure

Specificare quindi il nome e l'area della replica:

Immagine che mostra la replica nel portale di Azure

Nota

Le repliche in lettura non sono disponibili nel piano tariffario basic.

Per altre informazioni sulle repliche in lettura, vedere repliche in lettura in Database di Azure per MySQL.

Gestione e monitoraggio

Database di Azure per MySQL include un'ampia gamma di strumenti di monitoraggio che consentono di ottimizzare il server, ricevere una notifica degli eventi e rispondere in modo proattivo alle metriche. È anche possibile usare strumenti di amministrazione di MySQL familiari, ad esempio versioni recenti di MySQL Workbench, PHPMyAdmin e Navicat, per gestire e monitorare i server di Database di Azure per MySQL:

Immagine che mostra lo strumento MySQL Workbench connesso al database di Azure per MySQL

Strumenti di Azure per il monitoraggio di Database di Azure per MySQL

Gli strumenti disponibili nel portale di Azure per la gestione e il monitoraggio di Database di Azure per MySQL includono quanto segue:

  • metriche di Azure. Le metriche forniscono dati numerici ogni minuto e vengono archiviati per 30 giorni. È disponibile un'ampia gamma di metriche usate per monitorare il server. È anche possibile configurare gli avvisi per rispondere alle metriche.

    immagine che mostra le metriche di Azure

    Per altre informazioni, vedere della piattaforma dati di Monitoraggio di Azure.

  • Server e log di controllo. È possibile abilitare i log del server per monitorare le query lente e fornire la registrazione di controllo per il server. I log del server sono disponibili all'esterno del database SQL per MySQL tramite i log di diagnostica di Azure.

    immagine che mostra i log del server di Azure

    Per altre informazioni, vedere Log di query lente in Database di Azure per MySQL. I log di controllo sono una funzionalità di anteprima per fornire la registrazione di controllo per tenere traccia dell'attività del database. Per attivare la registrazione di controllo, impostare il parametro audit_log_enabled su ON. Per altre informazioni sui log di controllo, vedere Log di controllo in Database di Azure per MySQL.

  • Query Store. Viene usato per tenere traccia delle prestazioni del server nel tempo e fornire informazioni sulla risoluzione dei problemi. Query Store mantiene la cronologia delle query e le statistiche di runtime in modo da poter identificare query a esecuzione prolungata o a elevato utilizzo di risorse. Per abilitare Query Store, impostare il parametro del server query_store_capture_mode su ALL: 'immagine che mostra la modalità di acquisizione di Query Store

    Per visualizzare i dati dell'archivio query sulle query, eseguire la query seguente:

    SELECT * FROM mysql.query_store;
    

    Per visualizzare i dati sulle statistiche di attesa, eseguire la query seguente:

    SELECT * FROM mysql.query_store_wait_stats;
    

    Nota

    Query Store è una funzionalità di anteprima e non è disponibile nel piano tariffario basic.

    Per altre informazioni su Query Store, vedere Monitorare le prestazioni di Database di Azure per MySQL con Query Store.

  • Informazioni dettagliate prestazioni query. Informazioni dettagliate prestazioni query visualizza i dati di Query Store come visualizzazioni per consentire di identificare le query che influiscono sulle prestazioni. Informazioni dettagliate prestazioni query si trova nella sezione prestazioni intelligenti del database di Azure per MySQL nel portale di Azure.

    Nota

    Informazioni dettagliate prestazioni query è una funzionalità di anteprima e non è disponibile nel piano tariffario basic.

    Per altre informazioni su Informazioni dettagliate prestazioni query, vedere Informazioni dettagliate prestazioni query in Database di Azure per MySQL.

  • raccomandazioni sulle prestazioni. Le raccomandazioni sulle prestazioni usano i dati di Query Store per analizzare i carichi di lavoro e lo combinano con le caratteristiche del database per suggerire nuovi indici per migliorare le prestazioni. Le raccomandazioni sulle prestazioni sono disponibili nella sezione prestazioni intelligenti di Database di Azure per MySQL nel portale di Azure.

    Nota

    Le raccomandazioni sulle prestazioni sono una funzionalità di anteprima e non sono disponibili nel piano tariffario basic.

    Per altre informazioni sulle raccomandazioni sulle prestazioni, vedere Performance Recommendations in Database di Azure per MySQL.

Connettività del client

Driver MySQL

Database di Azure per MySQL usa l'edizione community di MySQL ed è compatibile con un'ampia gamma di driver, supporta un'ampia gamma di linguaggi di programmazione. Le stringhe di connessione vengono fornite nel portale di Azure:

Immagine che mostra le stringhe di connessione

Per altre informazioni sui driver MySQL, vedere driver e strumenti di gestione mySQL compatibili con Database di Azure per MySQL

Configurare il firewall

Il modo più semplice per configurare il firewall consiste nell'usare le impostazioni di sicurezza della connessione per il servizio nel portale di Azure. Aggiungere una regola per ogni intervallo di indirizzi IP client. È anche possibile usare questa pagina per applicare le connessioni SSL al servizio.

Immagine che mostra la configurazione del firewall per Database di Azure per PostgreSQL

Fare clic Aggiungi IP client nella barra degli strumenti per aggiungere l'indirizzo IP del computer desktop.

Se sono state configurate repliche di sola lettura, è necessario aggiungere una regola del firewall a ognuna per renderle accessibili ai client.

Errori di connessione temporanei

Quando ci si connette a un database tramite Internet, gli errori di connessione temporanei sono inevitabili e devono essere gestiti dalle applicazioni client.

Per informazioni sugli errori di connettività temporanei, vedere Gestione degli errori di connettività temporanei per Database di Azure per MySQL.

Funzionalità di MySQL non supportate in Database di Azure per MySQL

Sebbene la maggior parte delle funzionalità di MySQL sia disponibile in Database di Azure per MySQL, alcune non sono supportate. È consigliabile esaminare queste funzionalità per assicurarsi di attenuare eventuali potenziali problemi durante la migrazione.

Motori di archiviazione

Database di Azure per MySQL supporta i motori di archiviazione InnoDB e MEMORY. InnoDB è il motore di archiviazione predefinito per MySQL, offrendo un equilibrio tra prestazioni elevate e affidabilità elevata. Tutte le nuove tabelle in MySQL useranno il motore di archiviazione InnoDB, se non diversamente specificato.

Per altre informazioni sul motore di archiviazione InnoDB, vedere Introduction to InnoDB.

Per archiviare i dati in memoria, è disponibile il motore di archiviazione MEMORY. Questi dati sono a rischio di qualsiasi tipo di arresto anomalo o interruzione. Il motore di archiviazione MEMORY deve essere usato solo come archivio temporaneo ad alte prestazioni.

Per altre informazioni sul motore di archiviazione MEMORY, vedereMotore di archiviazione MEMORY.

I motori di archiviazione MyISAM, BLACKHOLE, ARCHIVE e FEDERATED non sono supportati in Database di Azure per MySQL. I dati MyISAM devono essere convertiti nel motore di archiviazione InnoDB. I motori di archiviazione BLACKHOLE, ARCHIVE e FEDERATED hanno ruoli specializzati e non vengono usati come archivi dati tipici.

Privilegi e ruoli

Il ruolo di DBA non è esposto perché molte impostazioni e parametri del server possono interrompere le regole delle transazioni e ridurre le prestazioni. Per motivi simili, il privilegio SUPER è limitato, come è la clausola DEFINER che usa il privilegio SUPER.

Restaurare

Due funzionalità di ripristino funzionano in modo diverso in Database di Azure per MySQL:

  • Il ripristino temporizzato crea un nuovo server con una configurazione identica al server su cui si basa.
  • Non è possibile ripristinare un server eliminato.