Tutorial: Diseño de una instancia de Azure Database for MariaDB con la CLI de AzureTutorial: Design an Azure Database for MariaDB using Azure CLI

Azure Database for MariaDB es un servicio de base de datos relacional de la nube de Microsoft basado en el motor de base de datos MariaDB Community Edition.Azure Database for MariaDB is a relational database service in the Microsoft cloud based on MariaDB Community Edition database engine. En este tutorial, usa la CLI (interfaz de la línea de comandos) de Azure y otras utilidades para aprender a hacer lo siguiente:In this tutorial, you use Azure CLI (command-line interface) and other utilities to learn how to:

  • Creación de una instancia de Azure Database for MariaDBCreate an Azure Database for MariaDB
  • Configuración del firewall del servidorConfigure the server firewall
  • Uso de la herramienta de línea de comandos mysql para crear una base de datosUse mysql command-line tool to create a database
  • Carga de datos de ejemploLoad sample data
  • Datos de consultaQuery data
  • Actualización de datosUpdate data
  • Restauración de datosRestore data

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.If you don't have an Azure subscription, create a free Azure account before you begin.

Puede usar Azure Cloud Shell en el explorador o instalar la CLI de Azure en su propio equipo para ejecutar los bloques de código de este tutorial.You may use the Azure Cloud Shell in the browser, or Install Azure CLI on your own computer to run the code blocks in this tutorial.

Uso de Azure Cloud ShellUse Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell le permite usar bash o PowerShell para trabajar con servicios de Azure.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Para iniciar Azure Cloud Shell:To launch Azure Cloud Shell:

OpciónOption Ejemplo o vínculoExample/Link
Seleccione Probarlo en la esquina superior derecha de un bloque de código.Select Try It in the upper-right corner of a code block. Solo con seleccionar Probar no se copia automáticamente el código en Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Ejemplo de Probarlo para Azure Cloud Shell
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Iniciar Cloud Shell en una nueva ventanaLaunch Cloud Shell in a new window
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Botón Cloud Shell en Azure Portal

Para ejecutar el código de este artículo en Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Inicie Cloud Shell.Launch Cloud Shell.

  2. Seleccione el botón Copiar de un bloque de código para copiar el código.Select the Copy button on a code block to copy the code.

  3. Pegue el código en la sesión de Cloud Shell con Ctrl+Mayús+V en Windows y Linux, o Cmd+Mayús+V en macOS.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Presione ENTRAR para ejecutar el código.Press Enter to run the code.

Si decide instalar y usar la CLI localmente, para este artículo es preciso que ejecute la versión 2.0 o posterior de la CLI de 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. Ejecute az --version para encontrar la versión.Run az --version to find the version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.If you need to install or upgrade, see Install Azure CLI.

Si tiene varias suscripciones, elija la adecuada donde se encuentre el recurso o para la cual se facture.If you have multiple subscriptions, choose the appropriate subscription in which the resource exists or is billed for. Seleccione un identificador de suscripción específico en su cuenta mediante el 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

Crear un grupo de recursosCreate a resource group

Cree un grupo de recursos con el comando az group create.Create an Azure resource group with az group create command. Un grupo de recursos es un contenedor lógico en el que se implementan y se administran recursos de Azure como un grupo.A resource group is a logical container into which Azure resources are deployed and managed as a group.

En el ejemplo siguiente, se crea un grupo de recursos denominado myresourcegroup en la ubicación westus.The following example creates a resource group named myresourcegroup in the westus location.

az group create --name myresourcegroup --location westus

Creación de un servidor de Azure Database for MariaDBCreate an Azure Database for MariaDB server

Cree un servidor de Azure Database for MariaDB con el comando az mariadb server create.Create an Azure Database for MariaDB server with the az mariadb server create command. Un servidor puede administrar varias bases de datos.A server can manage multiple databases. Normalmente se usa una base de datos independiente para cada proyecto o para cada usuario.Typically, a separate database is used for each project or for each user.

En el ejemplo siguiente se crea un servidor de Azure Database for MariaDB situado en westus en el grupo de recursos myresourcegroup con el nombre mydemoserver.The following example creates an Azure Database for MariaDB server located in westus in the resource group myresourcegroup with name mydemoserver. El servidor tiene un inicio de sesión de administrador con el nombre myadmin.The server has an administrator log in named myadmin. Se trata de un servidor Gen 5 de uso general con 2 núcleos virtuales.It is a General Purpose, Gen 5 server with 2 vCores. Sustituya <server_admin_password> por su propio valor.Substitute the <server_admin_password> with your own value.

az mariadb server create --resource-group myresourcegroup --name mydemoserver --location westus --admin-user myadmin --admin-password <server_admin_password> --sku-name GP_Gen5_2 --version 10.2

El valor del parámetro sku-name sigue la convención {plan de tarifa}_{generación de proceso}_{núcleos virtuales} como en los ejemplos siguientes:The sku-name parameter value follows the convention {pricing tier}_{compute generation}_{vCores} as in the examples below:

  • --sku-name B_Gen5_4 se asigna a Básico, Gen 5 y 4 núcleos virtuales.--sku-name B_Gen5_4 maps to Basic, Gen 5, and 4 vCores.
  • --sku-name GP_Gen5_32 se asigna a De uso general, Gen 5 y 32 núcleos virtuales.--sku-name GP_Gen5_32 maps to General Purpose, Gen 5, and 32 vCores.
  • --sku-name MO_Gen5_2 se asigna a Optimizado para memoria, Gen 5 y 2 núcleos virtuales.--sku-name MO_Gen5_2 maps to Memory Optimized, Gen 5, and 2 vCores.

Para comprender cuáles son los valores válidos por región y nivel consulte la documentación sobre planes de tarifa.Please see the pricing tiers documentation to understand the valid values per region and per tier.

Importante

El inicio de sesión y la contraseña de administrador del servidor que especifique aquí serán necesarios para iniciar sesión más adelante en ese servidor y en las bases de datos que se especificarán en esta guía de inicio rápido.The server admin login and password that you specify here are required to log in to the server and its databases later in this quickstart. Recuerde o grabe esta información para su uso posterior.Remember or record this information for later use.

Configurar de la regla de firewallConfigure firewall rule

Cree una regla de firewall de nivel de servidor de Azure Database for MariaDB con el comando az mariadb server firewall-rule create.Create an Azure Database for MariaDB server-level firewall rule with the az mariadb server firewall-rule create command. Una regla de firewall de nivel de servidor permite que una aplicación externa, como la herramienta de línea de comandos mysql o MySQL Workbench, se conecte al servidor a través del firewall del servicio Azure MariaDB.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 MariaDB service firewall.

En el ejemplo siguiente se crea una regla de firewall denominada AllowMyIP que permite las conexiones desde una dirección IP específica, 192.168.0.1.The following example creates a firewall rule called AllowMyIP that allows connections from a specific IP address, 192.168.0.1. Sustituya la dirección IP o rango de direcciones IP que se correspondan con aquella desde la que se está conectando.Substitute in the IP address or range of IP addresses that correspond to where you'll be connecting from.

az mariadb server firewall-rule create --resource-group myresourcegroup --server mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1

Obtención de la información de conexiónGet the connection information

Para conectarse al servidor, debe proporcionar las credenciales de acceso y la información del host.To connect to your server, you need to provide host information and access credentials.

az mariadb server show --resource-group myresourcegroup --name mydemoserver

El resultado está en formato JSON.The result is in JSON format. Tome nota de los valores de fullyQualifiedDomainName y administratorLogin.Make a note of the fullyQualifiedDomainName and administratorLogin.

{
  "administratorLogin": "myadmin",
  "administratorLoginPassword": null,
  "fullyQualifiedDomainName": "mydemoserver.mariadb.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMariaDB/servers/mydemoserver",
  "location": "westus",
  "name": "mydemoserver",
  "resourceGroup": "myresourcegroup",
 "sku": {
    "capacity": 2,
    "family": "Gen5",
    "name": "GP_Gen5_2",
    "size": null,
    "tier": "GeneralPurpose"
  },
  "sslEnforcement": "Enabled",
  "storageProfile": {
    "backupRetentionDays": 7,
    "geoRedundantBackup": "Disabled",
    "storageMb": 5120
  },
  "tags": null,
  "type": "Microsoft.DBforMariaDB/servers",
  "userVisibleState": "Ready",
  "version": "10.2"
}

Conexión al servidor con MySQLConnect to the server using mysql

Use la herramienta de línea de comandos mysql para establecer una conexión con el servidor de Azure Database for MariaDB.Use the mysql command-line tool to establish a connection to your Azure Database for MariaDB server. En este ejemplo, el comando es:In this example, the command is:

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

Crear una base de datos en blancoCreate a blank database

Una vez conectado al servidor, cree una base de datos vacía.Once you’re connected to the server, create a blank database.

mysql> CREATE DATABASE mysampledb;

En el símbolo del sistema, ejecute el comando siguiente para cambiar la conexión a esta base de datos recién creada:At the prompt, run the following command to switch the connection to this newly created database:

mysql> USE mysampledb;

Creación de tablas en la base de datosCreate tables in the database

Ahora que sabe cómo conectarse a la base de datos de Azure Database for MariaDB, realice algunas tareas básicas.Now that you know how to connect to the Azure Database for MariaDB database, complete some basic tasks.

En primer lugar, cree una tabla y cárguela con algunos datos.First, create a table and load it with some data. Vamos a crear una tabla que almacena la información del inventario.Let's create a table that stores inventory information.

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

Carga de datos en las tablasLoad data into the tables

Ahora que tiene una tabla, inserte algunos datos en ella.Now that you have a table, insert some data into it. En la ventana de símbolo del sistema abierta, ejecute la consulta siguiente para insertar algunas filas de datos.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);

Ahora tiene dos filas de datos de ejemplo en la tabla que creó anteriormente.Now you have two rows of sample data into the table you created earlier.

Consulta y actualización de los datos en las tablasQuery and update the data in the tables

Ejecute la consulta siguiente para recuperar información de la tabla de base de datos.Execute the following query to retrieve information from the database table.

SELECT * FROM inventory;

También puede actualizar los datos en las tablas.You can also update the data in the tables.

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

La fila se actualiza en consecuencia cuando se recuperan los datos.The row gets updated accordingly when you retrieve data.

SELECT * FROM inventory;

Restauración de una base de datos a un momento anterior en el tiempoRestore a database to a previous point in time

Imagine que eliminó accidentalmente esta tabla.Imagine you have accidentally deleted this table. No se puede recuperar con facilidad.This is something you cannot easily recover from. Azure Database for MariaDB permite volver a cualquier momento dado en el período de los últimos 35 días y restaurar este momento en un servidor nuevo.Azure Database for MariaDB 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. Puede usar este servidor nuevo para recuperar los datos eliminados.You can use this new server to recover your deleted data. Los pasos siguientes restauran el servidor de ejemplo a un punto antes de que se agregara la tabla.The following steps restore the sample server to a point before the table was added.

Para realizar la restauración, necesita la información siguiente:For the restore, you need the following information:

  • Punto de restauración: seleccione el momento antes de que se modificara el servidor.Restore point: Select a point-in-time that occurs before the server was changed. Debe ser mayor o igual que el valor de la copia de seguridad más antigua de la base de datos de origen.Must be greater than or equal to the source database's Oldest backup value.
  • Servidor de destino: especifique el nombre del nuevo servidor donde desea restaurar.Target server: Provide a new server name you want to restore to
  • Servidor de origen: especifique el nombre del servidor desde donde desea restaurar.Source server: Provide the name of the server you want to restore from
  • Ubicación: no se puede seleccionar la región; de forma predeterminada, es la misma que la del servidor de origen.Location: You cannot select the region, by default it is same as the source server
az mariadb server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time "2017-05-4 03:10" --source-server-name mydemoserver

El comando az mariadb server restore necesita los parámetros siguientes:The az mariadb server restore command needs the following parameters:

ConfiguraciónSetting Valor sugeridoSuggested value DESCRIPCIÓNDescription  
resource-groupresource-group  myresourcegroupmyresourcegroup  Grupo de recursos en el que existe el servidor de origen.The resource group in which the source server exists. 
namename mydemoserver-restoredmydemoserver-restored Nombre del nuevo servidor que se crea mediante el comando de restauración.The name of the new server that is created by the restore command.
restore-point-in-timerestore-point-in-time 2017-04-13T13:59:00Z2017-04-13T13:59:00Z Seleccione un momento dado en el que quiere restaurar.Select a point-in-time to restore to. Esta fecha y hora debe estar dentro del período de retención de copia de seguridad del servidor de origen.This date and time must be within the source server's backup retention period. Use el formato de fecha y hora ISO8601.Use ISO8601 date and time format. Por ejemplo, puede usar su propia zona horaria local, como 2017-04-13T05:59:00-08:00, o usar el formato de hora Zulú UTC 2017-04-13T13:59:00Z.For example, you may use your own local timezone, such as 2017-04-13T05:59:00-08:00, or use UTC Zulu format 2017-04-13T13:59:00Z.
source-serversource-server mydemoservermydemoserver Nombre o identificador del servidor de origen desde el que se va a restaurar.The name or ID of the source server to restore from.

Al restaurar un servidor a un momento dado, se crea un servidor que se copia como servidor original a un momento dado que especifique.Restoring a server to a point-in-time creates a new server, copied as the original server as of the point in time you specify. Los valores de ubicación y plan de tarifa del servidor restaurado son los mismos que los del servidor de origen.The location and pricing tier values for the restored server are the same as the source server.

El comando es sincrónico y se devolverá después de que se haya restaurado el servidor.The command is synchronous, and will return after the server is restored. Una vez finalizada la restauración, busque el servidor que ha creado.Once the restore finishes, locate the new server that was created. Compruebe que los datos se han restaurado del modo esperado.Verify the data was restored as expected.

Pasos siguientesNext steps

En este tutorial aprendió lo siguiente:In this tutorial you learned to:

  • Creación de un servidor de Azure Database for MariaDBCreate an Azure Database for MariaDB server
  • Configuración del firewall del servidorConfigure the server firewall
  • Uso de la herramienta de línea de comandos mysql para crear una base de datosUse mysql command-line tool to create a database
  • Carga de datos de ejemploLoad sample data
  • Datos de consultaQuery data
  • Actualización de datosUpdate data
  • Restauración de datosRestore data