Implementación de una instancia de Azure Database for MySQL

Completado

Azure Database for MySQL es un servicio de base de datos relacional con tecnología de MySQL Community Edition. Es una oferta de base de datos como servicio (DBaaS) totalmente administrada que puede controlar las cargas de trabajo críticas con un rendimiento predecible y una escalabilidad dinámica.

Opciones de implementación de Azure Database for MySQL

Para hospedar una base de datos MySQL en Azure, puede usar la opción de implementación servidor flexible. La opción Servidor flexible proporciona las siguientes funcionalidades:

  • Mejor control de los servidores de bases de datos y la optimización de costos.
  • La capacidad de desarrollar aplicaciones mediante la personalización del motor mySQL.
  • Alta disponibilidad con redundancia de zona.
  • Ventanas de mantenimiento administradas para controlar el tiempo de revisiones y actualizaciones.
  • Parámetros de configuración para la optimización.

Comandos para implementar una instancia de servidor

En esta unidad se describen los pasos para implementar una instancia de Servidor flexible de Azure Database for MySQL. Ejecutas pasos similares en la unidad siguiente, incluyendo la ejecución de un script que realiza algunos pasos por ti.

Para implementar una instancia de Azure Database for MySQL: servidor flexible, primero se crea un grupo de recursos. A continuación, cree la instancia del servidor en el grupo de recursos. Por último, para acceder a la instancia, configure una regla de firewall.

En los pasos siguientes se describen los comandos para esas tareas:

  1. Para iniciar sesión en la CLI de Azure, use el siguiente comando:

    az login
    
  2. Para crear un grupo de recursos de Azure, use el siguiente comando:

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

    En la lista siguiente se describen los valores que se usan para los <...> marcadores de posición:

    • <resource-group-name> debe ser único dentro de su suscripción.
    • <location> debe ser uno de los valores devueltos en la Name columna cuando se usa el comando az account list-locations --output table.
  3. Para crear una instancia de Servidor flexible de Azure Database for MySQL, use el siguiente comando:

    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
    

    En la lista siguiente se describen los valores que se usan para los <...> marcadores de posición, además de los valores descritos anteriormente:

    • <MySQL-server-name> debe ser único dentro del grupo de recursos. El nombre solo puede contener letras minúsculas, números y el carácter de guion (-). El nombre debe tener entre 3 y 63 caracteres de longitud, inclusive y, si es conveniente, puede usar el mismo valor que usa para <resource-group-name>.
    • <MySQL-password> es la contraseña del administrador. La contraseña debe tener entre 8 y 128 caracteres de longitud, inclusive, y debe contener caracteres de tres de las siguientes categorías: letras mayúsculas en inglés, letras minúsculas en inglés, números y caracteres no alfanuméricos.
    • <public-IP> es la dirección IP pública del nombre de host desde el que desea permitir conexiones fuera de Azure, que se usa para probar la base de datos desde el host local.
  4. Para crear una regla de firewall, use el siguiente comando con los mismos valores de marcador de posición de los comandos anteriores:

    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
    

Conexión y prueba de la conexión mediante la CLI de Azure

Desde MySQL 8.0, el método de autenticación de usuario cambió a caching_sha2_password, lo que hace que mysql_native_password la autenticación no esté disponible. Como alternativa, puede usar el comando de la CLI de Azure para probar la az mysql flexible-server connect conectividad con el servidor de bases de datos, crear rápidamente una base de datos básica y ejecutar consultas directamente en el servidor sin instalar mysql.exe ni MySQL Workbench. También puede usar el comando en modo interactivo para ejecutar varias consultas a la vez.

Use los siguientes comandos para crear una base de datos, conectarse al servidor y ejecutar una consulta con los mismos valores de marcador de posición de los comandos anteriores y el nuevo <database-name> valor para asignar un nombre a la base de datos.

  1. Para crear una base de datos, use el siguiente comando:

    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. Para conectarse al servidor con el modo interactivo, use el siguiente comando:

    az mysql flexible-server connect \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --interactive
    
  3. Para ejecutar una consulta, use el siguiente comando:

    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;"
    

    Como alternativa, puede colocar la consulta en un archivo y usar el siguiente comando para ejecutar la consulta:

    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"
    

Resumen de la unidad

Ha aprendido los comandos para crear una instancia de Azure Database for MySQL: servidor flexible. En la unidad siguiente, creará y configurará la base de datos para su uso en la aplicación Jakarta EE.