Instalar MySQL en Ubuntu 20.04

MySQL es una de las bases de datos de código abierto más populares. Esta destaca por su rendimiento, fiabilidad y escalabilidad y tiene numerosos ámbitos de aplicación, desde pequeños sistemas de hosting web hasta grandes aplicaciones de empresa. A continuación, te mostramos paso a paso el proceso de instalación de MySQL en Ubuntu 20.04. Así tendrás un sistema de gestión de bases de datos fiable.

¿Cuáles son los requisitos de MySQL que debe cumplir Ubuntu 20.04?

En términos generales, los requisitos de sistema para utilizar MySQL en Ubuntu 20.04 son relativamente bajos y la mayoría de los sistemas modernos de escritorio o servidor deberían ser capaces de cumplir con dichos requisitos. Sin embargo, es importante señalar y tener en cuenta que los requisitos pueden variar en función del uso previsto y del tamaño de la base de datos. Si, por ejemplo, se ejecuta una aplicación más amplia que utiliza grandes bases de datos o consultas complejas, se necesitarán mayores requisitos de RAM y procesador para garantizar un mejor rendimiento. Tener una gran capacidad de disco duro es ideal para facilitar el crecimiento a largo plazo y permitir bases de datos adicionales.

Para una comunicación fluida entre el servidor MySQL y los usuarios, también hay que comprobar en detalle la configuración de red y la configuración del cortafuegos. Además, el servidor MySQL debe tener una dirección IP estática para evitar problemas de conexión.

En lo que respecta al hardware y software, MySQL exige los siguientes requisitos mínimos:

  • Procesador (CPU): arquitectura x86-64, mín. 1 GHz (Dual-Core)
  • Memoria (RAM): mín. 1 GB
  • Sistema operativo: Ubuntu 20.04, usuario sudo con derechos root
  • Firewall: puerto 3306 de MySQL abierto
  • Espacio en disco duro: mín. 500 MB
  • Conexión a Internet: para descargar paquetes y conectarse al servidor MySQL

Servidores Dedicado de IONOS

El hardware se encuentra con Cloud: Servidor dedicado con integración Cloud y con facturación exacta por minuto, ¡con asesor personal incluido!

Asistencia 24/7
Tráfico ilimitado
Certificado SSL

Instalación de MySQL en Ubuntu 20.04: instrucciones paso a paso

Para instalar MySQL en Ubuntu 20.04, puedes utilizar el sistema de gestión de paquetes APT (Advanced Package Tool). Después de finalizar el proceso de instalación, debes instalar y configurar MySQL antes de utilizarlo de forma productiva. Para ello, debes establecer la contraseña de administrador (root) y el acceso para usuarios externos, entre otros. En nuestra guía, te mostramos todos los pasos que debes hacer durante el proceso de instalación.

Paso 1. Actualizar la lista de paquetes

En primer lugar, se recomienda actualizar la lista de paquetes. Para ello, ejecuta el siguiente comando:

$ sudo apt update
bash

Paso 2. Instalar servidor MySQL

Ahora instala el paquete del servidor MySQL con APT:

$ sudo apt install mysql-server
bash

Para comprobar el funcionamiento del servidor, puedes iniciarlo manualmente con el comando systemctl:

$ sudo systemctl start mysql.service
bash

Paso 3. Configurar MySQL

Después de instalar MySQL, hay que tener en cuenta que aún no cumple con las normas de seguridad recomendadas. Para solucionarlo, MySQL proporciona un script que cambia el modo de configuración para proteger el servidor. De esta manera, se encarga de establecer la contraseña de administración (root), eliminar usuarios anónimos y restringir el acceso remoto, por ejemplo.

Sin embargo, para ejecutar el script correctamente, hay que tomar ciertas precauciones, pues la aplicación quiere cambiar la contraseña de la cuenta root, que está deshabilitada por defecto en Ubuntu. Si quieres evitar errores, ajusta el método de autenticación del usuario root.

Inicia el símbolo del sistema de MySQL:

$ sudo mysql
bash

Utiliza la sentencia ALTER USER para establecer una contraseña de administración (root):

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Cierra el símbolo del sistema de MySQL:

mysql> exit
bash

Ejecuta el script de seguridad:

$ sudo mysql_secure_installation
bash

Para autenticarse como usuario root, introduce el siguiente comando:

$ mysql -u root -p
bash

Una vez finalizado el script, puedes volver a cambiar el método de autenticación que está disponible por defecto:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
bash

Así podrás conectarte de nuevo con el comando sudo mysql.

Paso 4. Crear usuario MySQL

Al instalar MySQL se crea un usuario root que dispone de todos los privilegios para el servidor MySQL. Este también tiene control total sobre cualquier base de datos, tablas y usuarios. Para mejorar el nivel de seguridad, te recomendamos crear un usuario con derechos restringidos.

Para ello, accede al símbolo del sistema de MySQL:

$ sudo mysql
bash

Ahora crea un nuevo usuario para MySQL:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
bash

En “nombre de usuario” y “host”, introduce tu nombre de usuario y el nombre de tu host respectivamente. Si ejecutas Ubuntu de forma local, escribe localhost. La expresión “WITH authentication_plugin” es opcional. El plugin “auth_socket” tiene un alto nivel de seguridad y no requiere una contraseña para iniciar sesión.

En caso de que no se especifique nada más, MySQL utiliza el plugin “caching_sha2_password” para la autenticación. Sin embargo, hay algunas versiones de PHP con las que no es compatible. En su lugar, también puedes utilizar el plugin “mysql_native_password”, que es más antiguo, pero ya ha sido probado:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

También puedes utilizar la función “ALTER” para un usuario existente:

mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Paso 5. Administrar derechos

Determina los derechos del nuevo usuario. La sintaxis general es la siguiente:

mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
bash

La separación de múltiples privilegios se hace con una coma. Para aplicar los privilegios de forma global, intercambia “database.table” con un asterisco (*).

En el siguiente ejemplo, le pasamos a un usuario los derechos para crear (CREATE), modificar (ALTER), eliminar (DROP) e insertar (INSERT), seleccionar (SELECT), actualizar (UPDATE) y eliminar (DELETE) datos en una tabla.

mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;
bash

Mediante “WITH GRANT OPTION”, el usuario también puede traspasar sus derechos a otras personas.

A continuación, vacía la caché con “FLUSH PRIVILEGES”:

mysql> FLUSH PRIVILEGES;
bash

Ahorra cierra el símbolo del sistema de MySQL:

mysql> exit
bash

Inicia sesión con tu nuevo nombre de usuario:

$ mysql -u username -p
bash

Paso 6. Comprobar el funcionamiento de MySQL

Después de finalizar todos los pasos anteriores, comprueba si MySQL se ejecuta correctamente. Utiliza, por ejemplo, el gestor del sistema Systemd:

$ systemctl status mysql.service
bash

Como alternativa, puedes conectarte a la base de datos MySQL. El siguiente comando te lleva al inicio de sesión en MySQL y te muestra la versión del servidor:

$ sudo mysqladmin -p -u username version
bash