Progettare il primo database di Azure per il database MySQLDesign your first Azure Database for MySQL database

Il database di Azure per MySQL è un servizio di database relazionale in Microsoft Cloud basato sul motore di database MySQL Community Edition.Azure Database for MySQL is a relational database service in the Microsoft cloud based on MySQL Community Edition database engine. In questa esercitazione, si usano l'interfaccia della riga di comando di Azure e altre utilità per informazioni su come:In this tutorial, you use Azure CLI (command-line interface) and other utilities to learn how to:

  • Creare un database di Azure per MySQLCreate an Azure Database for MySQL
  • Configurare il firewall del serverConfigure the server firewall
  • Usare lo strumento della riga di comando di MySQL per creare un databaseUse mysql command-line tool to create a database
  • Caricare dati di esempioLoad sample data
  • Eseguire query sui datiQuery data
  • Aggiornare i datiUpdate data
  • Ripristinare i datiRestore data

È possibile usare Azure Cloud Shell nel browser o installare l'interfaccia della riga di comando di Azure 2.0 nel computer in uso per eseguire i blocchi di codice di questa esercitazione.You may use the Azure Cloud Shell in the browser, or Install Azure CLI 2.0 on your own computer to run the code blocks in this tutorial.

Avviare Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell è una shell Bash gratuita che può essere eseguita direttamente nel portale di Azure.The Azure Cloud Shell is a free Bash shell that you can run directly within the Azure portal. Include l'interfaccia della riga di comando di Azure preinstallata e configurata per l'uso con l'account.It has the Azure CLI preinstalled and configured to use with your account. Fare clic sul pulsante Cloud Shell nel menu nel riquadro in alto a destra nel portale di Azure.Click the Cloud Shell button on the menu in the upper-right of the Azure portal.

Cloud ShellCloud Shell

Il pulsante avvia una shell interattiva che è possibile usare per eseguire i passaggi di questo argomento:The button launches an interactive shell that you can use to run the steps in this topic:

Screenshot che mostra la finestra di Cloud Shell nel portaleScreenshot showing the Cloud Shell window in the portal

Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, per questo articolo è necessario eseguire la versione 2.0 o successiva dell'interfaccia della riga di comando di Azure.If you choose to install and use the CLI locally, this article requires that you are running the Azure CLI version 2.0 or later. Eseguire az --version per trovare la versione.Run az --version to find the version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure 2.0.If you need to install or upgrade, see Install Azure CLI 2.0.

Se si dispone di più sottoscrizioni, scegliere la sottoscrizione appropriata in cui la risorsa esiste o per cui è configurata.If you have multiple subscriptions, choose the appropriate subscription in which the resource exists or is billed for. Selezionare un ID di sottoscrizione specifico sotto l'account tramite il comando az account set.Select a specific subscription ID under your account using az account set command.

az account set --subscription 00000000-0000-0000-0000-000000000000

Creare un gruppo di risorseCreate a resource group

Creare un gruppo di risorse di Azure con il comando az group create.Create an Azure resource group with az group create command. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite come gruppo.A resource group is a logical container into which Azure resources are deployed and managed as a group.

Nell'esempio seguente viene creato un gruppo di risorse denominato mycliresource nella posizione westus.The following example creates a resource group named mycliresource in the westus location.

az group create --name mycliresource --location westus

Creare un database di Azure per il server MySQLCreate an Azure Database for MySQL server

Creare un database di Azure per il server MySQL con il comando mysql server create.Create an Azure Database for MySQL server with the az mysql server create command. Un server può gestire più database.A server can manage multiple databases. In genere, viene usato un database separato per ogni progetto o per ogni utente.Typically, a separate database is used for each project or for each user.

L'esempio seguente crea un database di Azure per il server MySQL disponibile in westus nel gruppo di risorse mycliresource con nome mycliserver.The following example creates an Azure Database for MySQL server located in westus in the resource group mycliresource with name mycliserver. Il server ha un account di accesso amministratore chiamato myadmin e la password Password01!.The server has an administrator log in named myadmin and password Password01!. Il server viene creato con livello di prestazioni Basic e 50 unità di calcolo condivise tra tutti i database nel server.The server is created with Basic performance tier and 50 compute units shared between all the databases in the server. È possibile aumentare o ridurre le capacità di calcolo e archiviazione a seconda delle esigenze dell'applicazione.You can scale compute and storage up or down depending on the application needs.

az mysql server create --resource-group mycliresource --name mycliserver --location westus --admin-user myadmin --admin-password Password01! --performance-tier Basic --compute-units 50

Configurare una regola del firewallConfigure firewall rule

Creare una regola del firewall a livello di server del Database SQL di Azure con il comando az mysql server firewall-rule create.Create an Azure Database for MySQL server-level firewall rule with the az mysql server firewall-rule create command. Una regola del firewall a livello di server consente a un'applicazione esterna, ad esempio lo strumento della riga di comando mysql o MySQL Workbench, di connettersi al server tramite il firewall del servizio MySQL di Azure.A server-level firewall rule allows an external application, such as mysql command-line tool or MySQL Workbench to connect to your server through the Azure MySQL service firewall.

Nell'esempio seguente viene creata una regola del firewall per un intervallo di indirizzi predefinito.The following example creates a firewall rule for a predefined address range. In questo esempio viene illustrato l'intero intervallo possibile di indirizzi IP.This example shows the entire possible range of IP addresses.

az mysql server firewall-rule create --resource-group mycliresource --server mycliserver --name AllowYourIP --start-ip-address 0.0.0.0 --end-ip-address 255.255.255.255

Ottenere le informazioni di connessioneGet the connection information

Per connettersi al server, è necessario specificare le informazioni sull'host e le credenziali di accesso.To connect to your server, you need to provide host information and access credentials.

az mysql server show --resource-group mycliresource --name mycliserver

Il risultato è in formato JSON.The result is in JSON format. Annotare il fullyQualifiedDomainName e l'administratorLogin.Make a note of the fullyQualifiedDomainName and administratorLogin.

{
  "administratorLogin": "myadmin",
  "administratorLoginPassword": null,
  "fullyQualifiedDomainName": "mycliserver.database.windows.net",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mycliresource/providers/Microsoft.DBforMySQL/servers/mycliserver",
  "location": "westus",
  "name": "mycliserver",
  "resourceGroup": "mycliresource",
  "sku": {
    "capacity": 50,
    "family": null,
    "name": "MYSQLS2M50",
    "size": null,
    "tier": "Basic"
  },
  "storageMb": 2048,
  "tags": null,
  "type": "Microsoft.DBforMySQL/servers",
  "userVisibleState": "Ready",
  "version": null
}

Connettersi al server usando mysqlConnect to the server using mysql

Usare lo strumento da riga di comando di MySQL per stabilire una connessione al server Database di Azure per MySQL.Use the mysql command-line tool to establish a connection to your Azure Database for MySQL server. In questo esempio, il comando è:In this example, the command is:

mysql -h mycliserver.database.windows.net -u myadmin@mycliserver -p

Creazione di un database vuotoCreate a blank database

Una volta connessi al server, creare un database vuoto.Once you’re connected to the server, create a blank database.

mysql> CREATE DATABASE mysampledb;

Nel prompt, eseguire il comando seguente per cambiare la connessione nel database appena creato:At the prompt, run the following command to switch the connection to this newly created database:

mysql> USE mysampledb;

Creare tabelle nel databaseCreate tables in the database

Dopo aver appreso come connettersi al Database di Azure per MySQL, completare alcune attività di base:Now that you know how to connect to the Azure Database for MySQL database, complete some basic tasks:

In primo luogo, creare una tabella e caricarvi alcuni dati.First, create a table and load it with some data. Creare una tabella che contenga le informazioni riguardanti l'inventario.Let's create a table that stores inventory information.

CREATE TABLE inventory (
    id serial PRIMARY KEY, 
    name VARCHAR(50), 
    quantity INTEGER
);

Caricare i dati nelle tabelleLoad data into the tables

Dopo aver creato una tabella, inserire alcuni dati.Now that you have a table, insert some data into it. Nella finestra del prompt dei comandi aperta, eseguire la query seguente per inserire alcune righe di dati.At the open command prompt window, run the following query to insert some rows of data.

INSERT INTO inventory (id, name, quantity) VALUES (1, 'banana', 150); 
INSERT INTO inventory (id, name, quantity) VALUES (2, 'orange', 154);

A questo punto, ci sono due righe di dati di esempio nella tabella creata in precedenza.Now you have two rows of sample data into the table you created earlier.

Eseguire una query e aggiornare i dati nelle tabelleQuery and update the data in the tables

Eseguire la query seguente per recuperare informazioni dalla tabella del database.Execute the following query to retrieve information from the database table.

SELECT * FROM inventory;

Si possono anche aggiornare query e aggiornare i dati nelle tabelle.You can also update the data in the tables.

UPDATE inventory SET quantity = 200 WHERE name = 'banana';

La riga viene aggiornata di conseguenza quando si recuperano dati.The row gets updated accordingly when you retrieve data.

SELECT * FROM inventory;

Ripristinare un database a un momento precedenteRestore a database to a previous point in time

Si supponga di aver eliminato accidentalmente questa tabella.Imagine you have accidentally deleted this table. Si tratta di un elemento che non è facile da ripristinare.This is something you cannot easily recover from. Il database di Azure per MySQL consente di tornare in qualsiasi punto degli ultimi 35 giorni e di ripristinare questo punto nel tempo in un nuovo server.Azure Database for MySQL allows you to go back to any point in time in the last up to 35 days and restore this point in time to a new server. È possibile usare questo nuovo server per ripristinare i dati eliminati.You can use this new server to recover your deleted data. La procedura seguente consente di ripristinare il server di esempio in un punto precedente all'aggiunta della tabella.The following steps restore the sample server to a point before the table was added.

Per il ripristino sono necessarie le informazioni seguenti:For the restore, you need the following information:

  • Punto di ripristino: selezionare un punto nel tempo precedente alla modifica del server.Restore point: Select a point-in-time that occurs before the server was changed. Il punto deve essere maggiore o equivalente al valore del backup meno recente del database di origine.Must be greater than or equal to the source database's Oldest backup value.
  • Server di destinazione: fornire un nuovo nome del server che si desidera ripristinare.Target server: Provide a new server name you want to restore to
  • Server di origine: fornire il nome del server che si desidera ripristinareSource server: Provide the name of the server you want to restore from
  • Posizione: non è possibile selezionare l'area, per impostazione predefinita è la stessa del server di origineLocation: You cannot select the region, by default it is same as the source server
az mysql server restore --resource-group mycliresource --name mycliserver-restored --restore-point-in-time "2017-05-4 03:10" --source-server-name mycliserver

Per ripristinare il server e ripristinare in un punto nel tempo precedente all'eliminazione delle tabelle.To restore the server and restore to a point-in-time before the table was deleted. Il ripristino di un server in un altro punto nel tempo crea un duplicato del nuovo server come il server originale nel punto nel tempo specificato, purché sia entro il periodo di conservazione per il livello di servizio applicato.Restoring a server to a different point in time creates a duplicate new server as the original server as of the point in time you specify, provided that it is within the retention period for your service tier.

Passaggi successiviNext Steps

Questa esercitazione illustra come:In this tutorial you learned to:

  • Creare un database di Azure per MySQLCreate an Azure Database for MySQL
  • Configurare il firewall del serverConfigure the server firewall
  • Usare lo strumento della riga di comando di MySQL per creare un databaseUse mysql command-line tool to create a database
  • Caricare dati di esempioLoad sample data
  • Eseguire query sui datiQuery data
  • Aggiornare i datiUpdate data
  • Ripristinare i datiRestore data