MySQL es el sistema de gestión de bases de datos relacionales de código abierto más popular.
La última versión del servidor de base de datos MySQL, la versión 8.0, está disponible para su instalación desde los repositorios predeterminados de CentOS 8.
MySQL 8.0 introdujo muchas características nuevas y cambios que hicieron que algunas aplicaciones fueran incompatibles con esta versión. Antes de elegir la versión de MySQL para instalar, consulte la documentación de la aplicación que va a implementar en su servidor CentOS.
CentOS 8 también proporciona MariaDB 10.3, que es un "reemplazo directo" para MySQL 5.7, con algunas limitaciones. Si su aplicación no es compatible con MySQL 8.0, instale MariaDB 10.3.
En este tutorial, le mostraremos cómo instalar y asegurar MySQL 8.0 en sistemas CentOS 8.
Instalando MySQL 8.0 en CentOS 8 #
Instale el servidor MySQL 8.0 usando el administrador de paquetes CentOS como root o usuario con privilegios sudo:
sudo dnf install @mysql
El @mysql
El módulo instala MySQL y todas las dependencias.
Una vez que se complete la instalación, inicie el servicio MySQL y habilítelo para que se inicie automáticamente al arrancar ejecutando el siguiente comando:
sudo systemctl enable --now mysqld
Para comprobar si el servidor MySQL se está ejecutando, escriba:
sudo systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2019-10-17 22:09:39 UTC; 15s ago
...
Asegurando MySQL #
Ejecute mysql_secure_installation
script que realiza varias operaciones relacionadas con la seguridad y establece la contraseña raíz de MySQL:
sudo mysql_secure_installation
Se le pedirá que configure el VALIDATE PASSWORD PLUGIN
, que se utiliza para probar la solidez de las contraseñas de los usuarios de MySQL y mejorar la seguridad. Hay tres niveles de política de validación de contraseñas, bajo, medio y fuerte. Presiona ENTER
si no desea configurar el complemento de validación de contraseña.
En el siguiente mensaje, se le pedirá que establezca una contraseña para el usuario root de MySQL. Una vez que haga eso, el script también le pedirá que elimine el usuario anónimo, restrinja el acceso del usuario raíz a la máquina local y elimine la base de datos de prueba. Debe responder "S" (sí) a todas las preguntas.
Para interactuar con el servidor MySQL desde la línea de comandos, use la utilidad de cliente MySQL, que se instala como una dependencia. Pruebe el acceso de root escribiendo:
mysql -u root -p
Ingrese la contraseña raíz cuando se le solicite, y se le presentará el shell de MySQL como se muestra a continuación:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.17 Source distribution
¡Eso es todo! Ha instalado y asegurado MySQL 8.0 en su servidor CentOS y está listo para usarlo.
Método de autenticación #
El servidor MySQL 8.0 incluido en los repositorios de CentOS 8 está configurado para usar la antigua mysql_native_password
complemento de autenticación porque algunas herramientas y bibliotecas de clientes en CentOS 8 no son compatibles con caching_sha2_password
método, que está configurado como predeterminado en la versión anterior de MySQL 8.0.
mysql_native_password
El método debería estar bien para la mayoría de las configuraciones. Sin embargo, si desea cambiar el complemento de autenticación predeterminado a caching_sha2_password
que es más rápido y brinda mayor seguridad, abra el siguiente archivo de configuración:
sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf
Cambia el valor de default_authentication_plugin
a caching_sha2_password
:
[mysqld]
default_authentication_plugin=caching_sha2_password
Cierre y guarde el archivo, y reinicie el servidor MySQL para que los cambios surtan efecto:
sudo systemctl restart mysqld