MySQL es el sistema de gestión de bases de datos relacionales (RDBMS) más utilizado en aplicaciones web. Desarrollado originalmente por MySQL AB y adquirido por Oracle en 2010, su versión 8.0 (publicada en 2018 y vigente en 2026) incorporó mejoras sustanciales: funciones de ventana, CTEs, mejora del optimizador, roles de usuario, soporte nativo para JSON y autenticación más segura con caching_sha2_password.
En este tutorial cubrimos MySQL desde la instalación hasta la administración cotidiana, con ejemplos reales y comandos listos para usar en servidor. Los ejemplos son para MySQL 8; la mayoría funciona también en MariaDB 10.6+.
MySQL vs MariaDB
MariaDB es un fork de MySQL creado por el fundador original (Monty Widenius) tras la adquisición por Oracle. Es compatible en API y casi en sintaxis con MySQL, pero tiene mejoras propias (motores Aria y Columnstore, funciones adicionales). Para uso general en web, ambos son equivalentes. Este tutorial usa MySQL 8.
Instalación en Ubuntu 22.04 / 24.04
sudo apt update sudo apt install -y mysql-server # Verificar que está corriendo sudo systemctl status mysql # Asistente de seguridad (recomendado en producción) sudo mysql_secure_installation
El asistente mysql_secure_installation te pregunta si quieres:
- Activar el plugin de validación de contraseñas
- Eliminar el usuario anónimo
- Deshabilitar el acceso root remoto
- Eliminar la base de datos
test - Recargar los privilegios
Responde «Y» a todo en un servidor de producción.
Instalación en RHEL / Rocky Linux / AlmaLinux 9
# Añadir el repositorio oficial de MySQL sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 sudo dnf install -y https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm sudo dnf install -y mysql-community-server # Iniciar y habilitar el servicio sudo systemctl enable --now mysqld # La contraseña temporal del root se genera en el log sudo grep 'temporary password' /var/log/mysqld.log # Ejecutar el asistente de seguridad con la contraseña temporal sudo mysql_secure_installation
Instalación con Docker (recomendado para desarrollo)
# docker-compose.yml # version: '3.9' # services: # mysql: # image: mysql:8.4 # environment: # MYSQL_ROOT_PASSWORD: rootpass # MYSQL_DATABASE: miapp # MYSQL_USER: usuario # MYSQL_PASSWORD: contraseña # ports: # - "3306:3306" # volumes: # - mysql_data:/var/lib/mysql # volumes: # mysql_data: docker compose up -d docker exec -it nombre_contenedor mysql -u root -p
Verificar la instalación
# Conectar como root sudo mysql # En Ubuntu, el root usa auth_socket (sin contraseña en la CLI) # o: mysql -u root -p # Introduce la contraseña cuando la pida # Ver la versión SELECT VERSION(); # Ver el estado del servidor STATUS;
