Guía de tecnologías

Instalar y configurar MySQL 5.7 en CentOS 7 y Ubuntu 16.04

6 min read Base de datos Actualizado 08 Oct 2025
Instalar MySQL 5.7 en CentOS 7 y Ubuntu 16.04
Instalar MySQL 5.7 en CentOS 7 y Ubuntu 16.04

Intención principal y variantes relacionadas

Este artículo explica cómo instalar y configurar MySQL 5.7 en servidores CentOS 7 y Ubuntu 16.04. Variantes relacionadas: instalar MySQL en Linux, configurar contraseña root en MySQL, habilitar servicio MySQL en el arranque, crear usuarios y bases de datos MySQL.

Requisitos previos

  • Acceso como root o usuario con sudo en CentOS 7 / Ubuntu 16.04.
  • Acceso a Internet para descargar el paquete del repositorio de MySQL.
  • Tiempo estimado: 10–25 minutos según conectividad.

Paso 1: Añadir el repositorio oficial de MySQL

MySQL proporciona repositorios para distribuciones RPM y DEB con la versión estable más reciente. Añadir el repositorio facilita instalar la versión oficial y futuras actualizaciones.

En CentOS 7, agrega el paquete RPM del repositorio con yum:

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

Se solicitará confirmación: escriba y y pulse Enter.

En Ubuntu 16.04, descargue e instale el paquete DEB y luego actualice la lista de paquetes:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.3-1_all.deb

dpkg -i mysql-apt-config_0.8.3-1_all.deb

apt-get update

Durante la instalación del paquete de repositorio en Ubuntu se le pedirá qué versión quiere instalar y qué herramientas adicionales incluir. Mantenga la selección por defecto (presione “Ok” y Enter si corresponde).

Captura: añadir repositorio MySQL a Ubuntu

Un repositorio de MySQL habrá quedado agregado al sistema.

Paso 2: Instalar MySQL 5.7

Con el repositorio disponible, instale el paquete mysql-community-server desde el repositorio oficial.

En CentOS:

yum -y install mysql-community-server

En Ubuntu:

apt-get install -y mysql-community-server

Nota: en Ubuntu se le pedirá establecer la contraseña root durante la instalación; introduzca y repita una contraseña fuerte.

MySQL 5.7 quedará instalado tras completar el comando.

Paso 3: Iniciar MySQL y habilitar arranque automático

Inicie el servicio y habilítelo para que arranque automáticamente con systemd.

En CentOS (servicio mysqld):

systemctl start mysqld
systemctl enable mysqld

En Ubuntu (servicio mysql):

systemctl start mysql
systemctl enable mysql

Compruebe que MySQL está escuchando en el puerto 3306 (puede usar netstat o ss):

netstat -plntu

Verifique si el servicio está habilitado en el arranque:

En CentOS:

systemctl is-enabled mysqld

En Ubuntu:

systemctl is-enabled mysql

Iniciar y habilitar el servicio MySQL

Si el resultado es enabled, el servicio se iniciará automáticamente al arrancar el sistema.

Paso 4: Configurar o restablecer la contraseña root de MySQL

Comportamiento por distribución:

  • Ubuntu: el instalador le habrá pedido la contraseña root durante la instalación; normalmente no es necesario restablecerla inmediatamente.
  • CentOS 7: MySQL genera una contraseña temporal por defecto la primera vez que arranca. Esa contraseña aparece en el fichero de log mysqld.log.

En CentOS, encuentre la contraseña temporal con:

grep 'temporary' /var/log/mysqld.log

Conéctese al shell de MySQL con la contraseña temporal:

mysql -u root -p
# escriba la contraseña temporal cuando se le solicite

Cambie la contraseña root por una nueva y fuerte (ejemplo):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NuevaContraseñaSegura123!';
FLUSH PRIVILEGES;

Esta consulta cambia la contraseña del usuario root para conexiones desde localhost.

Cambiar la contraseña root de MySQL en Linux

Nota: también puede usar la utilidad mysql_secure_installation después de la instalación para eliminar usuarios anónimos, deshabilitar el acceso remoto de root y eliminar la base de datos de prueba.

Paso 5: Pruebas — crear base de datos y usuario

Conéctese al shell de MySQL usando la nueva contraseña root:

mysql -u root -p
# escribir la contraseña: NuevaContraseñaSegura123!

Creación de una base de datos y un usuario de ejemplo:

CREATE DATABASE hakaselabs;
CREATE USER 'hakase'@'localhost' IDENTIFIED BY 'Hakase123@';
GRANT ALL PRIVILEGES ON hakaselabs.* TO 'hakase'@'localhost';
FLUSH PRIVILEGES;

Salga del shell y pruebe conectar con el nuevo usuario:

mysql -u hakase -p
# escribir la contraseña: Hakase123@

Verifique las bases de datos visibles para ese usuario:

SHOW DATABASES;

Debería ver hakaselabs en la lista.

Conectar con nuevo usuario y mostrar bases de datos

Buenas prácticas y endurecimiento de seguridad (recomendado)

Siguientes pasos recomendados tras la instalación inicial:

  • Ejecutar mysql_secure_installation y responder a las preguntas para reforzar la instalación.
  • Eliminar usuarios anónimos y la base de datos de pruebas.
  • Deshabilitar el acceso remoto de root: asegúrese de que root solo tenga acceso desde localhost.
  • Configurar autenticación fuerte y políticas de contraseña en su aplicación.
  • Restringir el puerto 3306 en el firewall solo a hosts confiables.
  • Habilitar copias de seguridad regulares (mysqldump, mysqlpump, o snapshots dependientes del almacenamiento).

Comandos útiles:

mysql_secure_installation
systemctl status mysqld
journalctl -u mysqld -n 200
ss -plntu | grep 3306

Micro-metodología sugerida (mini-SOP)

  1. Añadir repositorio → 2. Instalar paquete mysql-community-server → 3. Iniciar servicio y habilitar en arranque → 4. Cambiar contraseña root y ejecutar mysql_secure_installation → 5. Crear DB/usuario y probar conexión → 6. Hacer copia de seguridad.

Checklist por rol

Admin/Sysadmin:

  • Añadir repositorio correcto
  • Instalar paquete oficial
  • Iniciar servicio y habilitar en arranque
  • Guardar contraseña root en almacén seguro
  • Comprobar logs y estado del servicio

Desarrollador:

  • Crear esquema de base de datos de prueba
  • Crear cuentas de usuario con privilegios mínimos
  • Probar conexión desde la aplicación
  • Ejecutar consultas de rendimiento simples

Oficial de seguridad:

  • [ ] Ejecutar mysql_secure_installation
  • Revisar usuarios y permisos
  • Restringir acceso de red al puerto 3306
  • Programar auditorías y copias de seguridad

Caja de datos clave

  • Versión objetivo: MySQL 5.7
  • Puerto por defecto: 3306
  • Paquete principal: mysql-community-server
  • Sistema init: systemd (systemctl) en CentOS 7 y Ubuntu 16.04

Problemas comunes y soluciones rápidas

  • Error: “Can’t connect to local MySQL server” — Verifique systemctl status mysqld y los logs (journalctl -u mysqld -n 200).
  • Contraseña temporal no encontrada — Asegúrese de revisar /var/log/mysqld.log con privilegios de root.
  • Selección del paquete en Ubuntu no correcta — vuelva a ejecutar dpkg -i y verifique apt-get update.
  • Servicio no habilitado al arranque — vuelva a ejecutar systemctl enable mysqld o mysql según distribución.

Glosario (una línea)

  • Repositorio: fuente de paquetes del sistema que contiene el instalador de MySQL.
  • mysqld: demonio del servidor MySQL.
  • systemctl: herramienta de systemd para controlar servicios.

Criterios de comprobación

  • MySQL 5.7 instalado (comprobar mysql --version).
  • Servicio activo y habilitado (systemctl is-enabled mysqld o mysql).
  • Root con contraseña conocida y segura.
  • Usuario de aplicación creado con permisos adecuados.
  • Conexión desde la aplicación o cliente confirmada.

Resumen

Has añadido el repositorio oficial, instalado MySQL 5.7, habilitado el servicio para que arranque con el sistema, cambiado la contraseña root (si era necesario) y creado un usuario y base de datos de prueba. Se recomienda ejecutar mysql_secure_installation y configurar copias de seguridad y reglas de firewall.

Referencia

https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html

Autor
Edición

Materiales similares

Programas al inicio en Windows 10 — solución rápida
Soporte técnico

Programas al inicio en Windows 10 — solución rápida

Eliminar apps preinstaladas en Android y iOS
Tecnología

Eliminar apps preinstaladas en Android y iOS

Solucionar Dev Error 6068 en Warzone
Guías

Solucionar Dev Error 6068 en Warzone

Comprobar versión PowerShell en Windows
Windows PowerShell

Comprobar versión PowerShell en Windows

Instalar extensiones manualmente en Edge
Navegador

Instalar extensiones manualmente en Edge

Instalar osTicket en Ubuntu 16.04 (Nginx + PHP-FPM 7)
Infraestructura

Instalar osTicket en Ubuntu 16.04 (Nginx + PHP-FPM 7)