Introducción
MySQL es un sistema de gestión de bases de datos de código abierto, comúnmente instalado como parte del popular stack LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl). Utiliza una base de datos relacional y SQL (Structured Query Language) para gestionar sus datos.
CentOS 7 prefiere MariaDB, una bifurcación de MySQL gestionada por los desarrolladores originales de MySQL y diseñada como reemplazo de MySQL. Si ejecutas yum install mysql
en CentOS 7, se instala MariaDB en lugar de MySQL. Si te preguntas acerca de MySQL vs. MariaDB, MariaDB generalmente funcionará sin problemas en lugar de MySQL, así que a menos que tengas un caso de uso específico para MySQL, consulta la guía Cómo Instalar MariaDB en CentOS 7.
Este tutorial explicará cómo instalar la versión 8 de MySQL en un servidor CentOS 7.
Prerrequisitos
Para seguir este tutorial, necesitarás:
- A CentOS 7 with a non-root user with
sudo
privileges. You can learn more about how to set up a user with these privileges in the Initial Server Setup with CentOS 7 guide.
Paso 1 — Instalación de MySQL
Como se mencionó en la introducción, el comando Yum para instalar MySQL en realidad instala MariaDB. Para instalar MySQL, necesitaremos visitar el Repositorio Yum de la Comunidad MySQL que proporciona paquetes para MySQL.
En un navegador web, visita:
https://dev.mysql.com/downloads/repo/yum/
Ten en cuenta que los enlaces de descarga prominentes no conducen directamente a los archivos. En su lugar, llevan a una página posterior donde se te invita a iniciar sesión o registrarte para obtener una cuenta. Si no deseas crear una cuenta, puedes localizar el texto “No gracias, solo iniciar mi descarga”, luego haz clic derecho y copia la ubicación del enlace, o puedes editar el número de versión en los comandos a continuación.
Localiza la versión deseada y actualízala según sea necesario en el siguiente enlace:
Una vez que el archivo rpm esté guardado, verificaremos la integridad de la descarga ejecutando md5sum
y comparándolo con el valor MD5 correspondiente listado en el sitio:
Outpute2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm
Compara esta salida con el valor MD5 apropiado en el sitio:
Ahora que hemos verificado que el archivo no se haya corrompido ni cambiado, instalaremos el paquete:
Esto agrega dos nuevos repositorios yum de MySQL, y ahora podemos usarlos para instalar el servidor MySQL:
Presiona y
para confirmar que deseas proceder. Dado que acabamos de agregar el paquete, también se nos pedirá que aceptemos su clave GPG. Presiona y
para descargarlo y completar la instalación.
Paso 2 — Iniciando MySQL
Iniciaremos el demonio con el siguiente comando:
systemctl
no muestra el resultado de todos los comandos de gestión de servicios, así que para asegurarnos de que hemos tenido éxito, utilizaremos el siguiente comando:
Si MySQL ha iniciado correctamente, la salida debería contener Active: active (running)
y la línea final debería lucir algo como:
Nota: MySQL se habilita automáticamente para iniciar en el arranque cuando se instala. Puedes cambiar ese comportamiento predeterminado con sudo systemctl disable mysqld
Durante el proceso de instalación, se genera una contraseña temporal para el usuario root de MySQL. Localízala en el archivo mysqld.log
con este comando:
Output2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r
Toma nota de la contraseña, que necesitarás en el siguiente paso para asegurar la instalación y donde se te obligará a cambiarla. La política de contraseña predeterminada requiere 12 caracteres, con al menos una letra mayúscula, una letra minúscula, un número y un carácter especial.
Paso 3 — Configuración de MySQL
MySQL incluye un script de seguridad para cambiar algunas de las opciones predeterminadas menos seguras, como los inicios de sesión remotos de root y los usuarios de muestra.
Use este comando para ejecutar el script de seguridad.
Esto le pedirá la contraseña de root predeterminada. Tan pronto como la ingrese, se le pedirá que la cambie.
OutputThe existing password for the user account root has expired. Please set a new password.
New password:
Ingrese una nueva contraseña de 12 caracteres que contenga al menos una letra mayúscula, una letra minúscula, un número y un carácter especial. Vuelva a ingresarla cuando se le solicite.
Recibirá comentarios sobre la fortaleza de su nueva contraseña y luego se le pedirá inmediatamente que la cambie nuevamente. Dado que acaba de hacerlo, puede decir con confianza No
:
OutputEstimated strength of the password: 100
Change the password for root ? (Press y|Y for Yes, any other key for No) :
Después de que rechacemos la solicitud de cambiar la contraseña nuevamente, presionaremos Y
y luego ENTER
para responder afirmativamente a todas las preguntas siguientes con el fin de eliminar usuarios anónimos, prohibir el inicio de sesión remoto de root, eliminar la base de datos de prueba y el acceso a ella, y recargar las tablas de privilegios.
Ahora que hemos asegurado la instalación, vamos a probarla.
Paso 4 — Probando MySQL
Podemos verificar nuestra instalación y obtener información al respecto conectando con la herramienta mysqladmin
, un cliente que te permite ejecutar comandos administrativos. Usa el siguiente comando para conectarte a MySQL como root (-u root
), solicitar una contraseña (-p
) y devolver la versión.
Deberías ver una salida similar a esta:
mysqladmin Ver 8.0.28 for Linux on x86_64 (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.
Server version 8.0.28
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 3 min 2 sec
Threads: 2 Questions: 14 Slow queries: 0 Opens: 133 Flush tables: 3 Open tables: 49 Queries per second avg: 0.076
Esto indica que tu instalación ha sido exitosa.
Conclusión
En este tutorial, hemos instalado y asegurado MySQL en un servidor CentOS 7. Para aprender más sobre el uso de MySQL, esta guía para aprender más sobre los comandos de MySQL puede ayudar. También podrías considerar implementar algunas medidas de seguridad adicionales.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7