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

  1. Características principales
  2. Configuración inicial
  3. Conexión a la base de datos
  4. Operaciones básicas
  5. Seguridad y cumplimiento
  6. Monitoreo y optimización
  7. Ejercicios prácticos

  1. 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.

  1. Configuración inicial

Paso 1: Crear una instancia de Azure Database for MySQL

  1. Inicia sesión en el Portal de Azure.
  2. Selecciona Crear un recurso y busca Azure Database for MySQL.
  3. 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

  1. En la sección Red y seguridad, configura las reglas de firewall para permitir el acceso a tu base de datos.
  2. Añade las direcciones IP que necesitarán acceso a la base de datos.

Paso 3: Revisar y crear

  1. Revisa todas las configuraciones y haz clic en Crear.
  2. Espera a que se complete la implementación.

  1. 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()

  1. Operaciones básicas

Crear una base de datos

CREATE DATABASE mi_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

SELECT * FROM usuarios;

  1. 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'@'%';

  1. 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.

  1. Ejercicios prácticos

Ejercicio 1: Crear y conectar una base de datos

  1. Crea una instancia de Azure Database for MySQL.
  2. Configura las reglas de firewall para permitir el acceso desde tu IP.
  3. Conéctate a la base de datos usando la línea de comandos de MySQL.

Ejercicio 2: Realizar operaciones básicas

  1. Crea una base de datos llamada tienda.
  2. Dentro de tienda, crea una tabla llamada productos con las columnas id, nombre y precio.
  3. Inserta tres productos en la tabla productos.
  4. 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.

© Copyright 2024. Todos los derechos reservados