DEV Community

Cover image for Cómo instalar MySQL en una instancia EC2 con Amazon Linux 2023
Brian
Brian

Posted on • Edited on

Cómo instalar MySQL en una instancia EC2 con Amazon Linux 2023

¿Estás trabajando con una instancia EC2 usando Amazon Linux 2023 y necesitas MySQL? A diferencia de versiones anteriores, MySQL ya no viene preinstalado, y el proceso de instalación puede ser algo confuso. ¡Pero no te preocupes! Aquí tienes una guía paso a paso para instalarlo sin complicaciones y configurarlo adecuadamente.


1. Descarga el archivo RPM de MySQL

El primer paso es descargar el archivo del repositorio de MySQL. Esto te permitirá acceder a las versiones más recientes:

sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm  
Enter fullscreen mode Exit fullscreen mode

2. Instala el archivo RPM

Este archivo configurará el repositorio necesario para la instalación:

sudo dnf install mysql80-community-release-el9-1.noarch.rpm -y  
Enter fullscreen mode Exit fullscreen mode

3. Importa la clave pública de MySQL

Para evitar problemas con la autenticación de los paquetes, importa la clave GPG de MySQL:

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023  
Enter fullscreen mode Exit fullscreen mode

4. Instala MySQL según tus necesidades

Solo cliente MySQL:

sudo dnf install mysql-community-client -y  
Enter fullscreen mode Exit fullscreen mode

Servidor MySQL (incluye cliente):

sudo dnf install mysql-community-server -y  
Enter fullscreen mode Exit fullscreen mode

5. Configura el servidor MySQL

Inicia el servicio y asegúrate de que arranque automáticamente con el sistema:

sudo systemctl start mysqld  
sudo systemctl enable mysqld  
Enter fullscreen mode Exit fullscreen mode

Verifica que el servicio esté funcionando:

sudo systemctl status mysqld  
Enter fullscreen mode Exit fullscreen mode

📸 Aquí tienes un ejemplo de cómo debería verse el estado del servicio:

Estado de MySQL


6. Configuración inicial de MySQL

Antes de usar MySQL, necesitas realizar una configuración inicial. Primero, encuentra la contraseña temporal generada durante la instalación:

sudo grep 'temporary password' /var/log/mysqld.log  
Enter fullscreen mode Exit fullscreen mode

🔑 Un ejemplo del resultado se muestra a continuación:

Contraseña temporal

A continuación, ejecuta el script de configuración inicial:

sudo mysql_secure_installation  
Enter fullscreen mode Exit fullscreen mode

Recomendaciones al configurar la contraseña

1. Cumple con los requisitos de seguridad:

  • Al menos una letra mayúscula y una minúscula.
  • Al menos un número.
  • Al menos un símbolo especial (.!@#$%^&*()).
  • Longitud mínima de 8 caracteres.

Si no cumples con estos criterios, verás un error como este:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements.

Error de contraseña

2. Evalúa el nivel de seguridad:

MySQL te mostrará un porcentaje que indica qué tan segura es tu contraseña. Un nivel del 100% indica la máxima seguridad.

Nivel de seguridad

3. Ajusta la política de validación (opcional):

Si prefieres contraseñas menos estrictas, puedes modificar la política de validación en el archivo /etc/my.cnf o mediante comandos dentro de MySQL.


¿Qué hace el script mysql_secure_installation?

Este script te guía para realizar ajustes clave en la configuración de seguridad:

  • Cambiar la contraseña de root: Usa una contraseña fuerte siguiendo las recomendaciones anteriores.
  • Deshabilitar usuarios anónimos: Esto evita accesos no autorizados.
  • Eliminar la base de datos de prueba: Protege tu sistema eliminando datos predeterminados.
  • Restringir el acceso remoto: Asegura que solo se pueda acceder desde la máquina local.

Vista del asistente de configuración

📸 Aquí tienes capturas de pantalla de cómo se ve el asistente durante su ejecución:

Paso 1 del asistente

Paso 2 del asistente


¡Listo! 🎉

Ahora tienes MySQL completamente instalado y configurado en tu instancia EC2 con Amazon Linux 2023.

¿Tienes alguna duda o quieres compartir tu experiencia? ¡Déjalo en los comentarios! 👇🏻

Top comments (0)