MySQL es uno de los sistemas de gestión de bases de datos más utilizados y más popular. Utiliza el concepto de bases de datos relacionales y tiene una arquitectura cliente/servidor. Se puede instalar en diferentes distribuciones de GNU/Linux.
Algunas aplicaciones web que utilizamos ya están pidiendo que la versión de MySQL sea la 8 en vez de la 5.x. Es por eso que hoy vamos a realizar la instalación de MySQL 8.0 en Debian 11 y para ello es necesario hacerlo a través de un repositorio externo.
Instalación de MySQL
Lo primero será añadir el repositorio, descargamos el siguiente paquete:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
Lo instalamos:
sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb

Seleccionamos la primera opción y le damos a Ok
.

Seleccionamos la opción de mysql-8.0
y le damos a Ok
. En la siguiente opción, mascamos la opción Ok
.
Tras instalar el paquete, actualizamos los repositorios:
apt update
Luego instalamos los paquetes necesarios:
apt install mysql-server
Durante la instalación nos aparecerá un mensaje para configurar la contraseña de root
, escribiremos una contraseña segura.

Utilizamos la opción Strong Password Encryption
.
Tras esto, los paquetes seleccionados se instalarán y ya tendremos disponible MySQL en nuestro servidor. Podemos iniciarlo al arranque:
systemctl enable --now mysql
Securizando MySQL
Un proceso muy recomendado para MySQL es ejecutar el siguiente comando para securizarlo:
mysql_secure_installation
Esta es la salida del comando y sus respuestas:
Securing the MySQL server deployment.
Enter password for user root:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : No
... skipping.
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
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!
Comprobación de la instalación
Como último paso, podemos revisar que la instalación ha sido correcta conectando a MySQL con el usuario root:
mysql -u root -p
La salida tras poner la contraseña:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.31 MySQL Community Server - GPL
Copyright (c) 2000, 2022, 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>
También podemos comprobar la versión que tenemos ejecutando esta consulta:
mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.31 |
+-----------+
1 row in set (0.00 sec)
Comentarios