Distribuire un'istanza di Database di Azure per MySQL

Completato

Database di Azure per MySQL è un servizio di database relazionale basato su MySQL Community Edition. Si tratta di un'offerta DBaaS (Database as a Service) completamente gestita che può gestire carichi di lavoro cruciali con prestazioni prevedibili e scalabilità dinamica.

Opzioni di distribuzione di Database di Azure per MySQL

Per ospitare un database MySQL in Azure, è possibile usare l'opzione di distribuzione Server flessibile. L'opzione Server flessibile offre le funzionalità seguenti:

  • Maggiore controllo dei server di database e dell'ottimizzazione dei costi.
  • Possibilità di sviluppare applicazioni personalizzando il motore MySQL.
  • Disponibilità elevata con ridondanza della zona.
  • Finestre di manutenzione gestite per controllare la tempistica delle patch e degli aggiornamenti.
  • Parametri di configurazione per l'ottimizzazione.

Comandi per la distribuzione di un'istanza del server

Questo modulo descrive i passaggi per distribuire un'istanza di Database di Azure per MySQL - Server Flessibile. In realtà si eseguono passaggi simili nell'unità successiva, inclusa l'esecuzione di uno script che esegue alcuni passaggi.

Per distribuire un'istanza di Azure Database per MySQL - Server flessibile, creare prima di tutto un gruppo di risorse. Creare quindi l'istanza del server nel gruppo di risorse. Infine, per accedere all'istanza, configura una regola del firewall.

I passaggi seguenti descrivono i comandi per tali attività:

  1. Per accedere all'interfaccia della riga di comando di Azure, usare il comando seguente:

    az login
    
  2. Per creare un gruppo di risorse di Azure, usare il comando seguente:

    az group create \
        --name <resource-group-name> \
        --location <location>
    

    L'elenco seguente descrive i valori usati per i <...> segnaposto:

    • <resource-group-name> deve essere univoco all'interno del tuo abbonamento.
    • <location> deve essere uno dei valori restituiti nella Name colonna quando si usa il comando az account list-locations --output table.
  3. Per creare un'istanza del server flessibile di Database di Azure per MySQL, usare il comando seguente:

    az mysql flexible-server create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --sku-name Standard_B1ms \
        --tier Burstable \
        --public-access <public-IP> \
        --storage-size 32 \
        --storage-auto-grow Enabled \
        --iops 500 \
        --version 8.0.21
    

    Nell'elenco seguente vengono descritti i valori usati per i <...> segnaposto, oltre ai valori descritti in precedenza:

    • <MySQL-server-name> deve essere univoco all'interno del gruppo di risorse. Il nome può contenere solo lettere minuscole, numeri e il trattino (-). Il nome deve avere una lunghezza compresa tra 3 e 63 caratteri e, se è conveniente, è sufficiente usare lo stesso valore usato per <resource-group-name>.
    • <MySQL-password> è la password dell'amministratore. La password deve avere una lunghezza compresa tra 8 e 128 caratteri e deve contenere caratteri di tre delle categorie seguenti: lettere maiuscole, lettere minuscole, numeri e caratteri non alfanumerici.
    • <public-IP> è l'indirizzo IP pubblico del nome host da cui si desidera consentire le connessioni all'esterno di Azure, che viene usato per testare il database dall'host locale.
  4. Per creare una regola del firewall, usare il comando seguente con gli stessi valori segnaposto dei comandi precedenti:

    az mysql flexible-server firewall-rule create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --rule-name AllowAllAzureIPs \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 255.255.255.255
    

Connettersi e testare la connessione usando l'interfaccia della riga di comando di Azure

A partire da MySQL 8.0, il metodo di autenticazione utente è stato modificato in caching_sha2_password, rendendo mysql_native_password l'autenticazione non disponibile. In alternativa, è possibile usare il az mysql flexible-server connect comando nell'interfaccia della riga di comando di Azure per testare la connettività al server di database, creare rapidamente un database di base ed eseguire query direttamente sul server senza installare mysql.exe o MySQL Workbench. È anche possibile usare il comando in modalità interattiva per eseguire più query alla volta.

Usare i comandi seguenti per creare un database, connettersi al server ed eseguire una query usando gli stessi valori segnaposto dei comandi precedenti e il nuovo <database-name> valore per denominare il database.

  1. Per creare un database, usare il comando seguente:

    az mysql flexible-server db create \
        --resource-group <resource-group-name> \
        --server-name <MySQL-server-name> \
        --database-name <database-name> \
        --charset utf8mb4 \
        --collation utf8mb4_unicode_ci
    
  2. Per connettersi al server con la modalità interattiva, usare il comando seguente:

    az mysql flexible-server connect \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --interactive
    
  3. Per eseguire una query, usare il comando seguente:

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --querytext "select * from table1;"
    

    In alternativa, è possibile inserire la query in un file e usare il comando seguente per eseguire la query:

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --file-path "./test.sql"
    

Riepilogo della unità

Si sono appresi i comandi per creare un'istanza di Server Flessibile di Database di Azure per MySQL. Nell'unità successiva si crea e si configura il database da usare nell'applicazione Jakarta EE.