Cómo instalar MySQL 8.0 en RHEL/CentOS 8/7 y Fedora 30


MySQL es un sistema de gestión de bases de datos relacionales (RDBMS) gratuito y de código abierto publicado bajo GNU (Licencia pública general). Se utiliza para ejecutar múltiples bases de datos en un solo servidor al proporcionar acceso de múltiples usuarios a cada base de datos creada.

Este artículo le explicará el proceso de instalación y actualización de la última versión de MySQL 8.0 en RHEL/CentOS 8/7/6/y Fedora 28-30 usando el repositorio MySQL Yum a través de la utilidad YUM.

Paso 1: Agregar el repositorio de MySQL Yum

1. Usaremos el repositorio oficial de software MySQL Yum, que proporcionará paquetes RPM para instalar la última versión del servidor MySQL, cliente, MySQL Utilities, MySQL Workbench, Connector/ODBC y Connector/Python para RHEL/CentOS 8/7./6/y Fedora 28-30.

Importante: estas instrucciones solo funcionan en una instalación nueva de MySQL en el servidor, si ya hay un MySQL instalado usando un paquete RPM distribuido por terceros, entonces le recomiendo que actualice o reemplace el paquete MySQL instalado usando MySQL Yum Repository ”.

Antes de actualizar o reemplazar un paquete MySQL antiguo, no olvide llevar todos los archivos importantes de copia de seguridad y configuración de la base de datos.

2. Ahora descargue y agregue el siguiente repositorio de MySQL Yum a la lista de repositorios de su sistema de distribución de Linux respectivo para instalar la última versión de MySQL (es decir, 8.0 lanzada el 27 de julio de 2018).

--------------- On RHEL/CentOS 8 ---------------
# wget https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm
--------------- On RHEL/CentOS 7 ---------------
# wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
--------------- On RHEL/CentOS 6 ---------------
# wget https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm
--------------- On Fedora 30 ---------------
# wget https://dev.mysql.com/get/mysql80-community-release-fc30-1.noarch.rpm
--------------- On Fedora 29 ---------------
# wget https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm
--------------- On Fedora 28 ---------------
# wget https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm

3. Después de descargar el paquete para su plataforma Linux, ahora instale el paquete descargado con el siguiente comando.

--------------- On RHEL/CentOS 8 ---------------
# yum localinstall mysql80-community-release-el8-1.noarch.rpm
--------------- On RHEL/CentOS 7 ---------------
# yum localinstall mysql80-community-release-el7-1.noarch.rpm
--------------- On RHEL/CentOS 6 ---------------
# yum localinstall mysql80-community-release-el6-1.noarch.rpm
--------------- On Fedora 30 ---------------
# dnf localinstall mysql80-community-release-fc30-1.noarch.rpm
--------------- On Fedora 29 ---------------
# dnf localinstall mysql80-community-release-fc29-1.noarch.rpm
--------------- On Fedora 28 ---------------
# yum localinstall mysql80-community-release-fc28-1.noarch.rpm

El comando de instalación anterior agrega el repositorio de MySQL Yum a la lista de repositorios del sistema y descarga la clave GnuPG para verificar la integridad de los paquetes.

4. Puede verificar que el repositorio de MySQL Yum se haya agregado correctamente usando el siguiente comando.

# yum repolist enabled | grep "mysql.*-community.*"
# dnf repolist enabled | grep "mysql.*-community.*"      [On Fedora versions]

Paso 2: Instalar la última versión de MySQL

5. Instale la última versión de MySQL (actualmente 8.0) usando el siguiente comando.

# yum install mysql-community-server
# dnf install mysql-community-server      [On Fedora versions]

El comando anterior instala todos los paquetes necesarios para el servidor MySQL mysql-community-server, mysql-community-client, mysql-community-common y mysql-community-libs.

Paso 3: Instalar MySQL Release Series

6. También puede instalar diferentes versiones de MySQL usando diferentes sub-repositorios de MySQL Community Server. El sub-repositorio para la serie MySQL reciente (actualmente MySQL 8.0) está activado por defecto, y los sub-repositorios para todas las demás versiones (por ejemplo, la serie MySQL 5.x) están desactivados por defecto.

Para instalar una versión específica desde un sub-repositorio específico, puede usar las opciones --enable o --disable usando yum-config-manager o dnf config-manager como se muestra:

# yum-config-manager --disable mysql57-community
# yum-config-manager --enable mysql56-community
------------------ Fedora Versions ------------------
# dnf config-manager --disable mysql57-community
# dnf config-manager --enable mysql56-community

Paso 4: Iniciar el servidor MySQL

7. Después de la instalación exitosa de MySQL, es hora de iniciar el servidor MySQL con el siguiente comando:

# service mysqld start

Puede verificar el estado del servidor MySQL con la ayuda del siguiente comando.

# service mysqld status

Esta es la salida de muestra de ejecutar MySQL en mi caja de CentOS 7.

Redirecting to /bin/systemctl status  mysqld.service
mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled)
   Active: active (running) since Thu 2015-10-29 05:15:19 EDT; 4min 5s ago
  Process: 5314 ExecStart=/usr/sbin/mysqld --daemonize $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 5298 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 5317 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─5317 /usr/sbin/mysqld --daemonize

Oct 29 05:15:19 localhost.localdomain systemd[1]: Started MySQL Server.

8. Ahora finalmente verifique la versión de MySQL instalada usando el siguiente comando.

# mysql --version

mysql  Ver 8.0.12 for Linux on x86_64 (MySQL Community Server - GPL)

Paso 5: Asegurar la instalación de MySQL

9. El comando mysql_secure_installation le permite proteger su instalación de MySQL realizando configuraciones importantes como establecer la contraseña de root, eliminar usuarios anónimos, eliminar el inicio de sesión de root, etc.

Nota: MySQL versión 8.0 o superior genera una contraseña aleatoria temporal en /var/log/mysqld.log después de la instalación.

Utilice el siguiente comando para ver la contraseña antes de ejecutar el comando seguro de MySQL.

# grep 'temporary password' /var/log/mysqld.log

Una vez que sepa la contraseña, ahora puede ejecutar el siguiente comando para asegurar su instalación de MySQL.

# mysql_secure_installation

Nota: Ingresar una nueva contraseña de root significa su contraseña temporal de un archivo /var/log/mysqld.log .

Ahora siga las instrucciones en pantalla cuidadosamente, como referencia, vea el resultado del comando anterior a continuación.

Securing the MySQL server deployment.

Enter password for user root: Enter New Root Password

VALIDATE PASSWORD PLUGIN 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 plugin?

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
Using existing password for root.

Estimated strength of the password: 50 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y

New password: Set New MySQL Password

Re-enter new password: Re-enter New MySQL 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.

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! 

Paso 6: Conexión al servidor MySQL

10. Conexión a un servidor MySQL recién instalado proporcionando nombre de usuario y contraseña.

# mysql -u root -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.1 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Paso 7: Actualización de MySQL con Yum

11. Además de una instalación nueva, también puede realizar actualizaciones para los productos y componentes de MySQL con la ayuda del siguiente comando.

# yum update mysql-server
# dnf update mysql-server       [On Fedora versions]

Cuando haya nuevas actualizaciones disponibles para MySQL, las instalará automáticamente; de lo contrario, recibirá un mensaje que dice NO hay paquetes marcados para actualizaciones.

Eso es todo, ha instalado correctamente MySQL 8.0 en su sistema. Si tiene algún problema con la instalación, no dude en utilizar nuestra sección de comentarios para obtener soluciones.