Linux en español
Tutoriales

Cómo instalar MySQL en Debian 10 Linux

instalar mysql en debian 10
5 minutos de lectura

Este tutorial explica cómo instalar y asegurar MySQL en Debian 10 desde el repositorio de MySQL Apt.

MySQL, el sistema de gestión de bases de datos relacionales de código abierto más popular del mundo no está disponible en los repositorios predeterminados de Debian. MariaDB es el sistema de base de datos predeterminado en Debian 10.

Cómo configurar el repositorio MySQL

Para agregar el repositorio APT de MYSQL al sistema, iremos a la página de descarga del repositio y descargaremos el ultimo paquete de lanzamiento utilizando el comando wget de la siguiente forma:

wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb 

Una vez completada la descarga, procederemos a instalar el paquete con privilegios de root.

Vamos a instalar MySQL versión 8.0. seleccionamos OK presionando Tab y presionando Enter (como se muestra en la imagen de arriba).

Si queremos instalar otra modalidad tan solo debemos seleccionarla y pulsar Enter.

Cómo instalar MySQL

Es hora de actualizar la lista de paquetes e instalar el paquete MySQL en el servidor.

sudo apt update
sudo apt install mysql-server

El instalador pedirá que se inserte la contraseña de root para MySQL. Vamos a dejar la contraseña en blanco para configurarla más adelante.

A continuación, se presentará un mensaje que informa sobre la nueva autenticación MySQL 8. Antes de seleccionar el complemento de autenticación predeterminado de MySQL 8, nos aseguramos de que la aplicación lo admita.

Una vez completada la instalación, el servicio MySQL se iniciará automáticamente, lo verificamos escribiendo el siguiente comando:

systemctl status mysql 
Salida:
● mysql.service - MySQL Community Server
    Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
    Active: active (running) since Mon 2019-11-18 19:16:50 UTC; 1min 42s ago
      Docs: man:mysqld(8)
            http://dev.mysql.com/doc/refman/en/using-systemd.html
   Process: 3709 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
  Main PID: 3757 (mysqld)
    Status: "Server is operational"
    CGroup: /system.slice/mysql.service
            └─3757 /usr/sbin/mysqld
 nov 18 19:16:49 ns3593453 systemd[1]: Starting MySQL Community Server…
 nov 18 19:16:50 ns3593453 systemd[1]: Started MySQL Community Server.

Cómo securizar MySQL

Llega la fase más importante, la securización del servicio. Para ello vamos a ejecutar mysql_secure_installation, el cual nos permitirá establecer una contraseña de root y mejorar la seguridad de la instalación de MySQL.

mysql_secure_installation 
Salida: 
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:

VALIDATE PASSWORD PLUGIN solicitará que sea instalado, este complemento se utiliza para probar la solidez de las contraseñas de los usuarios de MySQL. Hay tres niveles de politica de validación de contraseña: baja, media y fuerte. Presionaremos Enter si no deseamos configurar el complemento. En nuestro caso le damos a Enter.

Salida: 
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
 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
 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.

Acabamos de configurar la contraseña con nivel medio y un 100% de seguridad en dicho nivel.

Una vez establezcida la contraseña de root, el script también te pedirá que elimine al usuario anónimo, restrinja el acceso del usuario root a la máquina local y elimines la base de datos de prueba. Debes responder «Y» (sí) a todas las preguntas.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
 Success.
 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
 Success.
 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!

Como conectarse al servidor MySQL

Para interactuar con la base de datos a traves del terminal, vamos a hacer uso del comando mysql instalado como una dependencia el paquete del servidor MySQL.

Si seleccionaste la autenticación predeterminada para inicio de sesión en el servidor MySQL como usuario root basta con ejecutar el siguiente comando:

mysql

De lo contrario, si seleccionaste el método de autenticación heredado para iniciar sesión, escribe:

mysql -u root -p

Se pedirá que ingreses la contraseña de root que establecimos previamente cuando ejecutamos el script mysql_secure_installation. Una vez se ingrese la contraseña, se presentará el shell de Mysql de la siguiente forma

Conclusión

En este tutorial hemos visto cómo instalar y proteger un servidor MySQL en Debian 10. También hemos mostrado como conectarnos a una base de datos MySQL mediante una shell.

Si tu aplicación no tiene requisitos específicos, debes seguir con MariaDB, el sistema de base de datos predeterminado de Debian 10.

Puntuación media 5 / 5. Recuento de votos: 4

¡Síguenos en redes sociales!

Entradas relaccionadas

Cómo escribir comentarios en los scripts de Bash

Linux en Español

Cómo implementar el modulo PageSpeed en Nginx

Diego García Cuesta

Cómo instalar Ruby en Ubuntu

Diego García Cuesta

Cómo cambiar el fondo de la pantalla de inicio de sesión de GDM en Ubuntu

Linux en Español

Cómo eliminar automáticamente archivos antiguos de la Papelera en Linux

Linux en Español

Cómo instalar PuTTY en Ubuntu

Diego García Cuesta