Implementación de Azure Database for MySQL y conexión al servicio
Un conocimiento general de las funcionalidades del servidor flexible de Azure Database for MySQL puede ayudarle a identificar la configuración de implementación óptima para los entornos de desarrollo, pruebas y producción de la aplicación basada en Web. Las decisiones clave, como seleccionar la región de Azure de destino, la alta disponibilidad con redundancia de zona y la redundancia de copia de seguridad, deben realizarse durante la fase de diseño. Otras decisiones, como la asignación de recursos de proceso y almacenamiento, se controlan mediante los patrones de uso que cambian con el tiempo.
Las unidades anteriores de este módulo deberían ayudarle en la fase de diseño y planificación. Ahora, vamos a centrarnos en cómo implementar y conectarse al servidor flexible de Azure Database for MySQL cuando esté listo para implementarlo como parte de su propia solución.
Es clave comprender las dependencias entre varias opciones de configuración para tomar las decisiones adecuadas durante la implementación. En concreto, es importante tener en cuenta lo siguiente:
- No se admite la deshabilitación del crecimiento automático del almacenamiento para servidores que tenga habilitada alta disponibilidad.
- La alta disponibilidad no se admite en el nivel Ampliable, aunque puede implementar el servidor en una zona de disponibilidad específica.
Implementación de un servidor flexible de Azure Database for MySQL
Puede usar varios métodos diferentes para aprovisionar un servidor flexible de Azure Database for MySQL. Aunque puede usar implementaciones totalmente automatizadas, el método de implementación más sencillo es crear una instancia a través de Azure Portal, una interfaz gráfica de usuario (GUI). Al crear una instancia a través del portal, puede configurar un intervalo de opciones de servidor, que se pueden dividir en cinco grupos: Conceptos básicos, proceso y almacenamiento, redes, seguridad y etiquetas. Cada grupo y sus opciones de configuración correspondientes se presentan en la página:
La página Aspectos básicos incluye la configuración que puede usar para configurar:
Detalles del proyecto: El nombre de la suscripción y el grupo de recursos de destino.
Detalles del servidor:
- Nombre del servidor
- Región de Azure de destino
- Versión y nivel de proceso de MySQL
- Número de zona de disponibilidad
Método de autenticación. Seleccione la autenticación de MySQL, la autenticación de Microsoft Entra ID o una combinación de ambos métodos.
Nota:
En función del tamaño de los cálculos y de la región seleccionados, es posible que la selección de la zona de disponibilidad no esté disponible durante este paso.
La página Proceso y almacenamiento, a la que accede desde la página Aspectos básicos a través del vínculo Configurar servidor, incluye las opciones que puede usar para configurar:
Proceso. Las opciones de nivel y tamaño de proceso.
Almacenamiento. El tamaño de almacenamiento (en GiB), el número de IOPS (o escala automática) y la opción de crecimiento automático de almacenamiento.
Alta disponibilidad. Modo de alta disponibilidad (misma zona o redundancia de zona).
Copias de seguridad. El período de retención de copia de seguridad y la opción de redundancia geográfica de copia de seguridad.
La página Redes permite especificar el método de conectividad. En función de su elección, también puede permitir el acceso público desde cualquier servicio de Azure, configurar la integración de red virtual o crear puntos de conexión privados.
La página Seguridad incluye opciones para configurar el cifrado de datos para cifrar las bases de datos, las copias de seguridad y los registros en reposo sin cambios en la aplicación, además del cifrado de almacenamiento configurado de forma predeterminada.
La página Etiquetas agrega pares clave-valor que definen metadatos para el recurso implementado.
Conexión al servidor flexible de Azure Database for MySQL
Antes de conectarse al servidor flexible, tenga en cuenta la configuración de red que implementó durante la implementación. Por ejemplo, si el servidor flexible está configurado con acceso público y decide conectarse desde Azure Cloud Shell u otras aplicaciones cliente que no tengan acceso directo a la red a la base de datos, habilite la opción Permitir el acceso público desde cualquier servicio de Azure a este servidor del firewall del servidor. Al conectarse desde un servidor de aplicaciones local o un dispositivo conectado a Internet, agregue la dirección IP pública a la lista de excepciones de firewall.
Para conexiones seguras desde máquinas virtuales de Azure o cargas de trabajo en contenedor que se ejecutan en Azure, considere la posibilidad de habilitar puntos de conexión privados. Los puntos de conexión privados permiten conectarse de forma segura al servidor flexible a través de una red privada, lo que elimina la exposición a la red pública de Internet. Además, debe asegurarse de que la red desde la que se conecta permite el tráfico saliente a Azure a través del puerto TCP 3306, que requiere un servidor flexible de Azure Database for MySQL.
Dado que el cifrado está habilitado de forma predeterminada para las nuevas implementaciones, deberá descargar el certificado público instalado en el servidor y usarlo al establecer una conexión a través de TLS 1.2.
Después de abordar los requisitos de redes y certificados, debe poder conectarse al servidor flexible de Azure Database for MySQL y realizar consultas en él de varias maneras diferentes, incluido el uso de:
CLI de Azure (az mysql) o Azure Cloud Shell
- Use el siguiente formato de comando en la CLI de Azure para conectarse:
az mysql flexible-server connect --name <server-name> --user <username>
- Use el siguiente formato de comando en la CLI de Azure para conectarse:
Utilidad de línea de comandos mysql.exe
- Use el siguiente formato de comando en la herramienta de línea de comandos de MySQL para conectarse:
mysql -h <server-name>.mysql.database.azure.com -u <username> -p
- Use el siguiente formato de comando en la herramienta de línea de comandos de MySQL para conectarse:
Herramienta gráfica MySQL Workbench
- Use los siguientes detalles de conexión en la herramienta gráfica de MySQL Workbench:
- Nombre de host:
<server-name>.mysql.database.azure.com
- Puerto: 3306
- Nombre de usuario:
<username>
- Contraseña:
<your-password>
- Nombre de host:
- Use los siguientes detalles de conexión en la herramienta gráfica de MySQL Workbench:
Azure Data Studio con la extensión MySQL
- Inicie Azure Data Studio y asegúrese de que la extensión MySQL está instalada.
- Seleccione el icono Nueva conexión o vaya a Archivo>Nueva consulta.
- En el cuadro de diálogo de conexión, en Tipo de conexión, seleccione MySQL.
- Especifique los Detalles de conexión:
- Nombre del servidor:
<server-name>.mysql.database.azure.com
- Nombre de usuario:
<username>
- Contraseña:
<your-password>
: como alternativa, puede iniciar sesión con la autenticación de Microsoft Entra ID. - Puerto: 3306
- Nombre de base de datos (opcional): Especifique un nombre de base de datos específico al que conectarse o déjelo en blanco para enumerar todas las bases de datos
- Nombre del servidor:
- Modo SSL:
- Seleccione Requerir o Comprobar CA.
- Descargue el certificado SSL si usa el modo Comprobar CA.
- Seleccione Probar conexión para asegurarse de que todos los detalles son correctos.
- Si lo desea, puede guardar los detalles de la conexión para su uso futuro seleccionando Guardar contraseña.
- Seleccione Conectar para establecer la conexión con el servidor flexible de Azure Database for MySQL.
Muchos lenguajes de programación, como PHP, Java, Python, C#, C++, JavaScript, Rust, Go y Ruby.
Este es un ejemplo básico de conexión a un servidor flexible de Azure Database for MySQL mediante la clase de la extensión MySQL Improved (mysqli) de PHP:
<?php
$host = '<server-name>.mysql.database.azure.com';
$username = '<username>';
$password = '<your-password>';
$db_name = '<database-name>';
//Establish the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
//Run a query
printf("Reading data from table: \n");
$res = mysqli_query($conn, 'SELECT * FROM Products');
while ($row = mysqli_fetch_assoc($res)) {
var_dump($row);
}
//Close the connection
mysqli_close($conn);
?>
Nota:
Para más información sobre cómo conectarse al servidor flexible de Azure Database for MySQL mediante programación, consulte Microsoft Learn.