Introducción
Azure Database for MySQL es un servicio de base de datos relacional completamente administrado que proporciona alta disponibilidad, escalabilidad y seguridad. Este servicio permite a los desarrolladores y administradores de bases de datos centrarse en la creación de aplicaciones sin preocuparse por la administración de la infraestructura subyacente.
Contenido
- Características principales
- Configuración inicial
- Conexión a la base de datos
- Operaciones básicas
- Seguridad y cumplimiento
- Monitoreo y optimización
- Ejercicios prácticos
- Características principales
Azure Database for MySQL ofrece varias características que lo hacen una opción atractiva para muchas aplicaciones:
- Alta disponibilidad: Garantiza un tiempo de actividad del 99.99%.
- Escalabilidad: Permite ajustar el rendimiento y el almacenamiento según las necesidades.
- Seguridad: Incluye cifrado de datos en reposo y en tránsito, así como autenticación y autorización robustas.
- Automatización: Realiza copias de seguridad automáticas y actualizaciones de software.
- Compatibilidad: Totalmente compatible con MySQL, lo que facilita la migración de bases de datos existentes.
- Configuración inicial
Paso 1: Crear una instancia de Azure Database for MySQL
- Inicia sesión en el Portal de Azure.
- Selecciona Crear un recurso y busca Azure Database for MySQL.
- Haz clic en Crear y completa los detalles necesarios:
- Nombre del servidor: Un nombre único para tu servidor MySQL.
- Ubicación: Selecciona la región más cercana a tus usuarios.
- Versión: Selecciona la versión de MySQL que deseas usar.
- Nivel de precios: Selecciona el nivel de precios que se ajuste a tus necesidades.
Paso 2: Configurar la red y la seguridad
- En la sección Red y seguridad, configura las reglas de firewall para permitir el acceso a tu base de datos.
- Añade las direcciones IP que necesitarán acceso a la base de datos.
Paso 3: Revisar y crear
- Revisa todas las configuraciones y haz clic en Crear.
- Espera a que se complete la implementación.
- Conexión a la base de datos
Conexión desde la línea de comandos
Puedes conectarte a tu base de datos MySQL usando la línea de comandos de MySQL:
mysql -h <nombre-del-servidor>.mysql.database.azure.com -u <nombre-de-usuario>@<nombre-del-servidor> -p
Conexión desde una aplicación
Para conectarte desde una aplicación, puedes usar cualquier biblioteca de cliente MySQL. Aquí hay un ejemplo en Python usando mysql-connector-python
:
import mysql.connector config = { 'user': 'usuario@nombre-del-servidor', 'password': 'tu-contraseña', 'host': 'nombre-del-servidor.mysql.database.azure.com', 'database': 'nombre-de-la-base-de-datos', 'ssl_ca': '/path/to/BaltimoreCyberTrustRoot.crt.pem' } conn = mysql.connector.connect(**config) cursor = conn.cursor() cursor.execute("SELECT DATABASE()") row = cursor.fetchone() print("Conectado a la base de datos:", row) cursor.close() conn.close()
- Operaciones básicas
Crear una base de datos
Crear una tabla
CREATE TABLE usuarios ( id INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(100), correo VARCHAR(100) );
Insertar datos
INSERT INTO usuarios (nombre, correo) VALUES ('Juan Pérez', '[email protected]');
Consultar datos
- Seguridad y cumplimiento
Cifrado de datos
Azure Database for MySQL cifra los datos en reposo y en tránsito utilizando SSL/TLS. Asegúrate de que tu aplicación esté configurada para usar conexiones seguras.
Autenticación y autorización
Utiliza roles y permisos para controlar el acceso a la base de datos. Por ejemplo:
CREATE USER 'nuevo_usuario'@'%' IDENTIFIED BY 'contraseña_segura'; GRANT SELECT, INSERT ON mi_base_de_datos.* TO 'nuevo_usuario'@'%';
- Monitoreo y optimización
Monitoreo
Azure proporciona herramientas integradas para monitorear el rendimiento de tu base de datos. Puedes acceder a métricas como el uso de CPU, memoria y almacenamiento desde el portal de Azure.
Optimización
- Índices: Asegúrate de que tus tablas tengan índices adecuados para mejorar el rendimiento de las consultas.
- Consultas: Revisa y optimiza las consultas SQL para reducir el tiempo de ejecución.
- Escalabilidad: Ajusta el nivel de precios y los recursos según las necesidades de tu aplicación.
- Ejercicios prácticos
Ejercicio 1: Crear y conectar una base de datos
- Crea una instancia de Azure Database for MySQL.
- Configura las reglas de firewall para permitir el acceso desde tu IP.
- Conéctate a la base de datos usando la línea de comandos de MySQL.
Ejercicio 2: Realizar operaciones básicas
- Crea una base de datos llamada
tienda
. - Dentro de
tienda
, crea una tabla llamadaproductos
con las columnasid
,nombre
yprecio
. - Inserta tres productos en la tabla
productos
. - Realiza una consulta para obtener todos los productos.
Soluciones
Ejercicio 1
mysql -h <nombre-del-servidor>.mysql.database.azure.com -u <nombre-de-usuario>@<nombre-del-servidor> -p
Ejercicio 2
CREATE DATABASE tienda; USE tienda; CREATE TABLE productos ( id INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(100), precio DECIMAL(10, 2) ); INSERT INTO productos (nombre, precio) VALUES ('Producto 1', 10.99); INSERT INTO productos (nombre, precio) VALUES ('Producto 2', 20.99); INSERT INTO productos (nombre, precio) VALUES ('Producto 3', 30.99); SELECT * FROM productos;
Conclusión
En esta sección, hemos cubierto los conceptos básicos de Azure Database for MySQL, desde la configuración inicial hasta la realización de operaciones básicas y la implementación de medidas de seguridad. Con esta base, estarás preparado para aprovechar al máximo las capacidades de Azure Database for MySQL en tus proyectos. En el próximo módulo, exploraremos otras bases de datos disponibles en Azure, como PostgreSQL.
Curso de Azure
Módulo 1: Introducción a Azure
- ¿Qué es Azure?
- Configuración de la cuenta de Azure
- Descripción general del portal de Azure
- Administrador de recursos de Azure
Módulo 2: Servicios principales de Azure
- Máquinas virtuales de Azure
- Servicios de aplicaciones de Azure
- Almacenamiento de Azure
- Redes de Azure
Módulo 3: Bases de datos de Azure
- Base de datos SQL de Azure
- Azure Cosmos DB
- Base de datos de Azure para MySQL
- Base de datos de Azure para PostgreSQL
Módulo 4: Seguridad en Azure
- Gestión de identidad y acceso de Azure
- Centro de seguridad de Azure
- Azure Key Vault
- Protección DDoS de Azure
Módulo 5: Azure DevOps
Módulo 6: Servicios avanzados de Azure
- Servicio de Kubernetes de Azure (AKS)
- Funciones de Azure
- Aplicaciones lógicas de Azure
- Servicios cognitivos de Azure
Módulo 7: Monitoreo y gestión
- Monitor de Azure
- Análisis de registros de Azure
- Información de aplicaciones de Azure
- Automatización de Azure