Guía rápida para instalar MySQL en Ubuntu
Instalar MySQL en Ubuntu es bastante directo gracias a APT, el gestor de paquetes del sistema. En la mayoría de instalaciones recientes de Ubuntu, puedes instalar el servidor MySQL desde los repositorios oficiales con mysql-server, comprobar el servicio con systemctl y después ejecutar la configuración segura inicial. Ubuntu también mantiene una guía oficial para instalar y configurar MySQL en sus servidores.
Comandos esenciales de instalación
Estos son los comandos rápidos para instalar MySQL en Ubuntu:
sudo apt update
sudo apt install mysql-server
sudo systemctl status mysql
sudo mysql_secure_installation
Con eso ya tienes la base. Ahora bien, en mi caso no considero terminada una instalación solo porque el paquete se haya instalado. Para mí, instalar MySQL en Ubuntu implica cuatro cosas: instalar el servidor, comprobar que está funcionando, aplicar una configuración básica de seguridad y crear un usuario propio para trabajar sin depender siempre de root.
MySQL sigue siendo uno de los gestores de bases de datos más utilizados en proyectos web, aplicaciones empresariales, tiendas online y CMS como WordPress. Y Ubuntu, especialmente en versiones LTS, es una de las bases más cómodas para administrarlo en servidores porque ofrece estabilidad, actualizaciones y una gestión sencilla mediante APT.
Recuerda que tambien tienes disponible la guía de cómo instlar apache en ubuntu
Qué necesitas antes de instalar MySQL en Ubuntu
Antes de empezar, conviene comprobar que tienes un entorno mínimo preparado. No hace falta una configuración compleja, pero sí necesitas acceso a la terminal y permisos suficientes para instalar paquetes.
Versiones de Ubuntu compatibles
Esta guía está pensada para versiones recientes de Ubuntu, especialmente:
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- Ubuntu 24.04 LTS
- Ubuntu 26.04 LTS
- Ubuntu Server
- Ubuntu Desktop
Los comandos principales son muy parecidos entre versiones porque el proceso se basa en APT. La diferencia puede estar en la versión exacta de MySQL que instala cada repositorio y en algunos detalles de autenticación. Si necesitas una versión concreta de MySQL, Oracle mantiene el repositorio APT oficial de MySQL para Debian y Ubuntu, pensado para instalar y gestionar MySQL Server, cliente y otros componentes.
Acceso a terminal, usuario sudo y conexión a internet
Necesitas:
- Una máquina con Ubuntu.
- Conexión a internet.
- Acceso a terminal.
- Un usuario con permisos
sudo.
Si estás trabajando en un servidor real o VPS, mi recomendación es usar una versión LTS de Ubuntu y conectarte por SSH con un usuario con permisos sudo. Te evitarás problemas de permisos, paquetes incompletos y configuraciones a medias.
Puedes comprobar tu versión de Ubuntu con:
lsb_release -a
O también:
cat /etc/os-release
Por qué usar MySQL en Ubuntu
MySQL es una base de datos relacional de código abierto, muy extendida y compatible con una enorme cantidad de herramientas. Ubuntu, por su parte, es una de las distribuciones Linux más utilizadas en servidores.
La combinación funciona muy bien porque MySQL aporta estabilidad, rendimiento y compatibilidad, mientras que Ubuntu facilita la instalación, actualización y administración del servicio.
Ventajas de MySQL para webs, aplicaciones y servidores
MySQL suele utilizarse en:
- Aplicaciones web.
- WordPress y otros CMS.
- Tiendas online.
- APIs.
- Aplicaciones empresariales.
- Proyectos con PHP, Python, Java o Node.js.
Una de las razones por las que suelo recomendar MySQL en Ubuntu es que encaja bien con stacks muy habituales. Si vas a montar una web dinámica, una aplicación interna, una tienda online o un proyecto que necesita guardar y consultar datos de forma ordenada, MySQL sigue siendo una opción muy sólida.
Ventajas de Ubuntu como sistema para bases de datos
Ubuntu facilita mucho el trabajo porque permite instalar paquetes con APT, gestionar servicios con systemctl y mantener el sistema actualizado con comandos sencillos.
En una instalación normal, no tienes que descargar archivos manualmente ni compilar nada. Puedes instalar el paquete mysql-server, activar el servicio y empezar a trabajar desde la terminal.
Actualizar los paquetes de Ubuntu antes de instalar MySQL
Antes de instalar MySQL, actualiza la lista de paquetes disponibles. Este paso es importante porque Ubuntu necesita consultar los repositorios y saber qué versiones están disponibles.
Actualizar la lista de paquetes con APT
Ejecuta:
sudo apt update
Este comando no instala nada todavía. Solo actualiza el índice local de paquetes.
Actualizar paquetes instalados si es necesario
Puedes actualizar los paquetes ya instalados con:
sudo apt upgrade
No siempre es obligatorio, pero es recomendable si estás preparando un servidor desde cero. En un servidor de producción, revisa antes qué paquetes se van a actualizar.
Instalar MySQL Server en Ubuntu
Ahora sí, instala MySQL Server.
Instalar el paquete mysql-server
Ejecuta:
sudo apt install mysql-server
Cuando Ubuntu te pida confirmación, acepta con Y o S, según el idioma de tu sistema.
Este comando instala el servidor MySQL y sus dependencias principales desde los repositorios configurados en tu sistema. La documentación oficial de MySQL también contempla la instalación mediante repositorio APT en sistemas Debian y Ubuntu cuando quieres usar los paquetes proporcionados directamente por MySQL.
Comprobar la versión instalada de MySQL
Cuando termine la instalación, comprueba la versión:
mysql --version
Verás una salida parecida a esta:
mysql Ver 8.0.xx for Linux on x86_64
La versión exacta puede cambiar según tu versión de Ubuntu, los repositorios activos y las actualizaciones disponibles.
Comprobar que MySQL está funcionando
Instalar el paquete no es suficiente. También conviene comprobar que el servicio está activo.
Ver el estado del servicio MySQL
Ejecuta:
sudo systemctl status mysql
Si todo está bien, deberías ver algo como:
Active: active (running)
Ubuntu usa systemd para gestionar servicios, así que systemctl será tu herramienta habitual para iniciar, detener, reiniciar y revisar MySQL.
Iniciar, detener o reiniciar MySQL en Ubuntu
Para iniciar MySQL:
sudo systemctl start mysql
Para detenerlo:
sudo systemctl stop mysql
Para reiniciarlo:
sudo systemctl restart mysql
Para habilitarlo al arrancar el sistema:
sudo systemctl enable mysql
En muchas instalaciones, MySQL queda iniciado automáticamente tras instalarse, pero me gusta comprobarlo siempre. Es una forma rápida de detectar si la instalación ha fallado o si el servicio no ha levantado bien.
Ejecutar la configuración segura de MySQL
Después de instalar MySQL, ejecuta el asistente de seguridad:
sudo mysql_secure_installation
Este paso ayuda a endurecer la configuración inicial. No convierte el servidor en invulnerable, pero sí elimina configuraciones débiles típicas de una instalación nueva.
Qué hace mysql_secure_installation
El asistente puede preguntarte si quieres:
- Activar el componente de validación de contraseñas.
- Cambiar o definir contraseña.
- Eliminar usuarios anónimos.
- Desactivar acceso remoto para
root. - Eliminar la base de datos de prueba.
- Recargar tablas de privilegios.
MySQL documenta la instalación y gestión mediante paquetes APT, pero la configuración posterior depende del método de instalación, versión y política de seguridad que quieras aplicar.
Recomendaciones al responder las preguntas de seguridad
Para una instalación típica, puedes responder así:
| Pregunta | Recomendación general |
|---|---|
| Validar contraseñas | Sí, si es un servidor serio |
| Nivel de contraseña | Medio suele ser suficiente para empezar |
| Eliminar usuarios anónimos | Sí |
| Desactivar login remoto de root | Sí |
| Eliminar base de datos test | Sí |
| Recargar privilegios | Sí |
La instalación como tal es rápida. Lo que marca la diferencia es este paso: comprobar que MySQL está activo y aplicar seguridad básica antes de usarlo en serio.
Entrar a MySQL desde la terminal de Ubuntu
Una vez instalado, puedes acceder al monitor de MySQL desde la terminal.
Acceder con sudo mysql
En Ubuntu, muchas instalaciones permiten entrar así:
sudo mysql
Esto abre la consola de MySQL como usuario administrativo.
Verás algo parecido a:
mysql>
Para salir:
exit;
Acceder con mysql -u root -p
También puedes intentar entrar con:
mysql -u root -p
Este comando pide contraseña para el usuario root de MySQL.
Pero aquí aparece una confusión habitual: en algunas instalaciones de Ubuntu, root puede autenticarse mediante el socket del sistema, por lo que sudo mysql funciona aunque mysql -u root -p no funcione como esperabas.
Por qué MySQL puede no pedir contraseña en Ubuntu
En Ubuntu, el usuario root de MySQL puede estar configurado para autenticarse usando el sistema, no una contraseña clásica. Esto no significa necesariamente que MySQL esté mal instalado.
Por eso, para trabajar en proyectos reales, prefiero crear un usuario específico. Es más limpio, más seguro y evita depender de root para todo.
Crear una base de datos y un usuario en MySQL
Ahora vamos a dejar MySQL preparado para un uso real.
Entra a MySQL:
sudo mysql
Crear una base de datos de prueba
Dentro de MySQL, ejecuta:
CREATE DATABASE proyecto_demo;
Puedes ver las bases de datos con:
SHOW DATABASES;
Crear un usuario con contraseña
Crea un usuario nuevo:
CREATE USER 'usuario_demo'@'localhost' IDENTIFIED BY 'Contraseña_Segura_123!';
Cambia usuario_demo y Contraseña_Segura_123! por tus propios datos.
Conceder permisos al usuario
Da permisos sobre la base de datos:
GRANT ALL PRIVILEGES ON proyecto_demo.* TO 'usuario_demo'@'localhost';
FLUSH PRIVILEGES;
Después puedes probar el acceso:
mysql -u usuario_demo -p
Normalmente instalo MySQL porque después va a alimentar una aplicación, una web en WordPress, una tienda online o algún proyecto que necesita consultar datos. Por eso me gusta terminar creando una base de datos y un usuario específico desde el principio.
Habilitar acceso remoto a MySQL en Ubuntu
Por defecto, lo más seguro es usar MySQL solo en local. El acceso remoto debe activarse únicamente si lo necesitas.
Cuándo tiene sentido activar el acceso remoto
Tiene sentido si:
- Tu aplicación está en otro servidor.
- Tienes una arquitectura separada entre aplicación y base de datos.
- Necesitas conectarte desde una IP concreta.
- Vas a administrar la base de datos desde otra máquina.
No tiene sentido abrir MySQL a internet “por si acaso”. El puerto 3306 expuesto sin control puede ser un riesgo.
Configurar bind-address y puerto 3306
El archivo habitual de configuración es:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Busca esta línea:
bind-address = 127.0.0.1
Para aceptar conexiones externas, podrías cambiarla por:
bind-address = 0.0.0.0
Pero esto permite escuchar en todas las interfaces. En producción, es mejor limitarlo a una IP privada o configurar reglas de firewall estrictas.
Después reinicia MySQL:
sudo systemctl restart mysql
Abrir el firewall UFW solo si es necesario
Si usas UFW, puedes permitir conexiones al puerto 3306 solo desde una IP concreta:
sudo ufw allow from IP_DEL_CLIENTE to any port 3306
Evita esto salvo que sepas lo que estás haciendo:
sudo ufw allow 3306
Abrir MySQL a todo internet no es una buena práctica.
Errores frecuentes al instalar MySQL en Ubuntu
Esta parte es muy útil porque muchos problemas aparecen justo después de copiar los comandos básicos.
Unable to locate package mysql-server
Error:
E: Unable to locate package mysql-server
Soluciones:
sudo apt update
Después prueba otra vez:
sudo apt install mysql-server
Si sigue fallando, revisa que tus repositorios estén activos y que tu versión de Ubuntu tenga soporte.
Access denied for user ‘root’@’localhost’
Error:
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
Prueba primero:
sudo mysql
Si funciona, probablemente root está usando autenticación mediante socket. La solución práctica suele ser crear un usuario nuevo con contraseña en vez de forzar el uso de root.
mysql: command not found
Error:
mysql: command not found
Puede indicar que el cliente MySQL no está instalado o que la instalación no terminó bien.
Prueba:
sudo apt install mysql-client
O reinstala el servidor:
sudo apt install mysql-server
Unit mysql.service could not be found
Error:
Unit mysql.service could not be found
Puede ocurrir si MySQL no está instalado correctamente o si el servicio tiene otro nombre en tu sistema.
Comprueba paquetes instalados:
dpkg -l | grep mysql
Y prueba:
sudo apt install mysql-server
ERROR 2002 Can’t connect to local MySQL server
Error:
ERROR 2002 (HY000): Can't connect to local MySQL server
Comprueba el estado del servicio:
sudo systemctl status mysql
Intenta iniciarlo:
sudo systemctl start mysql
Si falla, revisa los logs:
sudo journalctl -u mysql
Cómo desinstalar MySQL de Ubuntu si necesitas empezar de cero
A veces interesa desinstalar MySQL para repetir la instalación desde cero. Hazlo con cuidado, sobre todo si tienes bases de datos importantes.
Desinstalación básica
Para eliminar el paquete:
sudo apt remove mysql-server
Después puedes limpiar dependencias que ya no se usen:
sudo apt autoremove
La documentación oficial de MySQL indica que, si se instaló mediante el repositorio APT de MySQL, se puede retirar el servidor con apt-get remove mysql-server y después eliminar componentes instalados automáticamente con apt-get autoremove.
Borrar archivos de configuración y datos con cuidado
Si quieres eliminar configuración:
sudo apt purge mysql-server
Y si necesitas borrar datos, revisa antes este directorio:
/var/lib/mysql
No borres esa carpeta sin copia de seguridad. Ahí pueden estar tus bases de datos.
Antes de eliminar datos, haz backup:
mysqldump -u usuario -p nombre_base_de_datos > backup.sql
De 0 a 100 Ubuntu y Mysql
Instalar MySQL en Ubuntu es sencillo, pero hacerlo bien implica algo más que lanzar apt install. Hay que actualizar paquetes, instalar mysql-server, comprobar que el servicio está activo, ejecutar mysql_secure_installation y crear un usuario propio para trabajar con bases de datos.
En mi caso, sigo viendo MySQL + Ubuntu como una combinación muy práctica: MySQL aporta estabilidad, rendimiento y compatibilidad con muchos lenguajes y aplicaciones; Ubuntu aporta una base estable, fácil de mantener y cómoda para administrar desde terminal.
Con unos pocos comandos puedes tener MySQL funcionando, pero la diferencia entre una instalación rápida y una instalación bien preparada está en los pasos posteriores: seguridad, usuarios, permisos, comprobaciones y solución de errores.
Dudas de la comunidad
¿Qué comando se usa para instalar MySQL en Ubuntu?
El comando principal es:
sudo apt install mysql-server
Antes conviene ejecutar:
sudo apt update
¿Cómo saber si MySQL está instalado en Ubuntu?
Puedes comprobar la versión con:
mysql --version
Y revisar el servicio con:
sudo systemctl status mysql
¿Sirve esta guía para Ubuntu 20.04, 22.04 y 24.04?
Sí, los pasos principales sirven para versiones recientes de Ubuntu basadas en APT. Puede cambiar la versión exacta de MySQL instalada o algún detalle de autenticación, pero el flujo general es el mismo: actualizar paquetes, instalar mysql-server, comprobar el servicio y configurar seguridad.
¿Es obligatorio ejecutar mysql_secure_installation?
No siempre es obligatorio, pero sí muy recomendable. Ayuda a eliminar configuraciones inseguras de una instalación inicial, como usuarios anónimos o bases de datos de prueba.
¿Cómo reiniciar MySQL en Ubuntu?
Usa:
sudo systemctl restart mysql
Para ver el estado después:
sudo systemctl status mysql
¿Conviene usar root para trabajar con MySQL?
No como hábito diario. Lo más recomendable es crear un usuario específico para cada proyecto y darle permisos solo sobre la base de datos que necesita.
Ejemplo:
CREATE USER 'mi_usuario'@'localhost' IDENTIFIED BY 'Contraseña_Segura_123!';
GRANT ALL PRIVILEGES ON mi_base.* TO 'mi_usuario'@'localhost';
FLUSH PRIVILEGES;




