Como instalar MySQL en Ubuntu Server 20.04

Voy a explicaros como podéis realizar la instalación en Ubuntu Server del popular motor de bases de datos MySQL.

Instalación MySQL

Vamos a realizar la instalación mediante el repositorio de paquetes APT incorporado en Ubuntu.

Lo primero de todo, y como siempre recomiendo antes de instalar cualquier aplicación, es actualizar el índice de paquetes del servidor, para ello usamos el siguiente comando:

sergioportillo@ubuntu-server:~$ sudo apt update

Instalamos el paquete mysql-server

sergioportillo@ubuntu-server:~$ sudo apt install mysql-server

Configuración inicial MySQL

Ya tenemos instalado MySQL pero antes de empezar a utilizarlo necesitamos realizar una configuración inicial para entre otras cosas establecer la seguridad de nuestro nuevo motor de bases de datos.

Ejecutamos el siguiente comando:

sergioportillo@ubuntu-server:~$ sudo mysql_secure_installation

Lo primero que nos preguntará es si queremos configurar el complemento de validación de contraseñas. Esto es recomendable para por ejemplo evitar la utilización de contraseñas sin ningún tipo de complejidad y que tan inseguras son.

Para evitar esto habilitaremos el complemento de validación y seleccionamos la opción 2, de esta forma sólo podremos utilizar contraseñas robustas que contengan al menos 8 caracteres e incluya una combinación de mayúsculas, minúsculas, números y caracteres especiales.

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

El siguiente paso es introducir la contraseña que tendrá nuestro usuario root.

Recordar que tal y como hemos establecido en el paso anterior debe ser una contraseña robusta. El asistente os indicará la robustez de la contraseña introducida, en mi caso un 100 🙂

Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

A continuación el asistente nos preguntará si queremos eliminar el usuario anónimo que existe en MySQL, obviamente le diremos que si.

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

Como buena práctica de seguridad deshabilitaremos el acceso remoto a MySQL utilizando el usuario root.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

Removemos la base de datos test que se incluye en MySQL.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

Y listo ya hemos finalizado la configuración inicial de nuestro MySQL.

Verificaciones posteriores

Para finalizar vamos a realizar una serie de verificaciones para comprobar que todo funciona correctamente.

Lo primero es comprobar que el servicio de MySQL se encuentra en ejecución:

sergioportillo@ubuntu-server:~$ systemctl status mysql
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-02-18 11:01:32 UTC; 41min ago
   Main PID: 2407 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 4586)
     Memory: 333.3M
     CGroup: /system.slice/mysql.service
             └─2407 /usr/sbin/mysqld

Feb 18 11:01:32 ubuntu-server systemd[1]: Starting MySQL Community Server...
Feb 18 11:01:32 ubuntu-server systemd[1]: Started MySQL Community Server.

En mi caso se ha iniciado automáticamente al finalizar la instalación, si este no fuera vuestro caso podéis iniciarlo mediante el siguiente comando:

sergioportillo@ubuntu-server:~$ systemctl start mysql

También es recomendable configurar el servicio para que se inicie de forma automática junto al sistema operativo por lo que ejecutamos el siguiente comando:

sergioportillo@ubuntu-server:~$ systemctl enable mysql

Como última comprobación vamos a intentar acceder mediante la consola del propio servidor a nuestro MySQL. Usaremos el usuario root y la contraseña que establecimos cuando realizamos la configuración inicial.

sergioportillo@ubuntu-server:~$ sudo mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.23-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Y listo ya podéis empezar a crear bases de datos, usuarios, etc… en vuestro MySQL.

Espero os haya sido de utilidad.

Entradas relacionadas

1 comentario en «Como instalar MySQL en Ubuntu Server 20.04»

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.