Cómo instalar MySQL en CentOS 7

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:

  1. curl -sSLO https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

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:

  1. md5sum mysql80-community-release-el7-5.noarch.rpm
Output
e2bd920ba15cd3d651c1547661c60c7c 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:

  1. sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

Esto agrega dos nuevos repositorios yum de MySQL, y ahora podemos usarlos para instalar el servidor MySQL:

  1. sudo yum install mysql-server

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:

  1. sudo systemctl start mysqld

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:

  1. sudo systemctl status mysqld

Si MySQL ha iniciado correctamente, la salida debería contener Active: active (running) y la línea final debería lucir algo como:

  1. Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

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:

  1. sudo grep 'temporary password' /var/log/mysqld.log
Output
2022-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.

  1. sudo mysql_secure_installation

Esto le pedirá la contraseña de root predeterminada. Tan pronto como la ingrese, se le pedirá que la cambie.

Output
The 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:

Output
Estimated 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.

  1. mysqladmin -u root -p version

Deberías ver una salida similar a esta:

Output
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