Introducción
MySQL es un sistema de gestión de bases de datos de código abierto, comúnmente instalado como parte de la popular pila LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl). Implementa el modelo relacional y el Lenguaje de Consulta Estructurado (SQL) para gestionar y consultar datos.
Este tutorial explica cómo instalar MySQL versión 8 en un servidor Rocky Linux 8.
Prerrequisitos
Para completar este tutorial, necesitará un servidor con Rocky Linux 8. Este servidor debe tener un usuario no root con privilegios administrativos y un firewall configurado con [nombre del servidor] firewalld
. Para configurarlo, consulte nuestra guía de configuración inicial del servidor para Rocky Linux 8 .
Paso 1: Instalación de MySQL
En Rocky Linux 8, la versión 8 de MySQL está disponible en los repositorios predeterminados.
Ejecute el siguiente comando para instalar el mysql-server
paquete y algunas de sus dependencias:
sudo dnf install mysql-server
Cuando se le solicite, presione y
y luego ENTER
para confirmar que desea continuar:
Output. . .
Install 49 Packages
Total download size: 46 M
Installed size: 252 M
Is this ok [y/N]: y
Con esto, MySQL está instalado en su servidor, pero aún no está operativo. El paquete que acaba de instalar configura MySQL para que se ejecute como un systemd
servicio llamado mysqld.service
. Para usar MySQL, deberá iniciarlo con el systemctl
comando:
sudo systemctl start mysqld.service
Para comprobar que el servicio se ejecuta correctamente, ejecute el siguiente comando. Tenga en cuenta que para muchos systemctl
comandos, incluido ” start
y”, como se muestra aquí, status
no es necesario incluirlo .service
después del nombre del servicio:
sudo systemctl status mysqld
Si MySQL se inició correctamente, la salida mostrará que el servicio MySQL está activo:
Output● mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-03-12 14:07:41 UTC; 1min 7s ago
Main PID: 15723 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 5056)
Memory: 474.2M
CGroup: /system.slice/mysqld.service
└─15723 /usr/libexec/mysqld --basedir=/usr
Mar 12 14:07:32 rocky8-mysql systemd[1]: Starting MySQL 8.0 database server...
Mar 12 14:07:32 rocky8-mysql mysql-prepare-db-dir[15639]: Initializing MySQL database
Mar 12 14:07:41 rocky8-mysql systemd[1]: Started MySQL 8.0 database server.
A continuación, configure MySQL para que se inicie cada vez que se inicie el servidor con el siguiente comando:
sudo systemctl enable mysqld
Nota: Si alguna vez desea cambiar este comportamiento y evitar que MySQL se inicie durante el arranque, puede hacerlo ejecutando:
sudo systemctl disable mysqld
MySQL ya está instalado, funcionando y habilitado en su servidor. A continuación, veremos cómo reforzar la seguridad de su base de datos mediante un script de shell preinstalado en su instancia de MySQL.
Paso 2: Protección de MySQL
MySQL incluye un script de seguridad que le permite cambiar algunas opciones de configuración predeterminadas para mejorar la seguridad de MySQL.
Para utilizar el script de seguridad, ejecute el siguiente comando:
sudo mysql_secure_installation
Aparecerán varias preguntas que le preguntarán si desea realizar ciertos cambios en las opciones de seguridad de su instalación de MySQL. La primera pregunta será si desea configurar el complemento Validar contraseña, que puede usar para comprobar la seguridad de su contraseña de MySQL.
Si decide configurar el complemento Validar contraseña, el script le pedirá que elija un nivel de validación de contraseña. El nivel más alto, que selecciona ingresando 2
, requiere que su contraseña tenga al menos ocho caracteres e incluya una combinación de mayúsculas, minúsculas, números y caracteres especiales.
OutputSecuring 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
Independientemente de si decide configurar el complemento Validar contraseña, el siguiente paso será establecer una contraseña para el usuario root de MySQL . Ingrese y confirme una contraseña segura de su elección:
OutputPlease set the password for root here.
New password:
Re-enter new password:
Si usaste el complemento Validar contraseña, recibirás información sobre la seguridad de tu nueva contraseña. El script te preguntará si deseas continuar con la contraseña que acabas de ingresar o si deseas ingresar una nueva. Si estás satisfecho con la seguridad de la contraseña que acabas de ingresar, presiona Enter Y
para continuar con el script:
OutputEstimated 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, puede presionar Y
y luego ENTER
aceptar los valores predeterminados para todas las preguntas subsiguientes. Esto eliminará algunos usuarios anónimos y la base de datos de prueba, deshabilitará los inicios de sesión remotos como root y cargará estas nuevas reglas para que MySQL respete inmediatamente los cambios realizados.
Con esto, ha instalado y protegido MySQL en su servidor Rocky Linux 8. Como paso final, probaremos que la base de datos sea accesible y funcione como se espera.
Paso 3: Prueba de MySQL
Puede verificar su instalación y obtener información al conectarse con la mysqladmin
herramienta, un cliente que le permite ejecutar comandos administrativos. Use el siguiente comando para conectarse a MySQL como root ( -u root
), solicitar una contraseña ( -p
) y obtener la versión de la instalación:
mysqladmin -u root -p version
Verá un resultado similar a este: Producción
mysqladmin Ver 8.0.17 for Linux on x86_64 (Source distribution)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.17
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 hours 52 min 37 sec
Threads: 2 Questions: 20 Slow queries: 0 Opens: 131 Flush tables: 3 Open tables: 48 Queries per second avg: 0.001
Esto indica que su instalación fue exitosa.
Si desea conectarse a MySQL y comenzar a agregarle datos, ejecute lo siguiente:
mysql -u root -p
Al igual que el comando anterior mysqladmin
, este comando incluye la -u
opción que le permite especificar el usuario con el que desea conectarse ( root en este caso) y la -p
opción que le indica al comando que le solicite la contraseña de usuario que configuró en el paso anterior.
Después de ingresar la contraseña de su usuario root de MySQL, verá el mensaje de MySQL:
Desde allí, puede comenzar a utilizar su instalación de MySQL para crear y cargar bases de datos y comenzar a ejecutar consultas.
Conclusión
Al seguir este tutorial, habrá instalado y protegido MySQL en un servidor Rocky Linux 8. Desde aquí, podrá instalar Nginx y PHP para tener una pila LEMP completamente operativa en su servidor.
Para obtener más información sobre el uso de MySQL, le recomendamos revisar la documentación oficial