Tutorial completo de MySQL 8: instalación, administración, tipos de datos y backup (2026)

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;

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP