Cómo instalar MySQL en CentOS 8

En este post vamos a ver cómo instalar y configurar MySQL en CentOS 8 (CentOS Stream 8) paso a paso, de modo que al final de esta guía podrás acceder de forma local y remota a este servicio de bases de datos en tu servidor o VPS CentOS.

Antes de instalar MySQL en CentOS 8

Para seguir esta guía de instalación de MySQL Server en CentOS 8 deberías cumplir estos requerimientos:

  • Una máquina CentOS Stream 8 actualizada.
  • Acceso a línea de comandos con un usuario con permisos de sudo o el mismo root.
  • Conexión a Internet.

Como seguramente ya pasas estos requisitos, abre una consola de comandos y empezamos.

Cómo instalar MySQL en CentOS 8

Para instalar MySQL en CentOS 8 usaremos los paquetes disponibles en la propia distribución. En la versión anterior de CentOS los paquetes nativos eran bastante obsoletos, pero ahora por fin disponemos de MySQL 8.

Por tanto el primer paso será actualizar los repositorios de la distribución:

~$ sudo yum update

El paquete que necesitamos instalar es mysql-server:

~$ sudo yum install -y mysql-server

Después de descargar e instalar el paquete mysql-server y sus dependencias se crea el servicio mysqld.service en nuestro sistema CentOS 8. También puedes referirte a este servicio con el nombre corto, mysqld.

El servicio mysqld no arranca tras la instalación, y tampoco lo hará automáticamente con el inicio de CentOS 8, así que debemos realizar un par de acciones adicionales a la instalación.

Para arrancar de inmediato el servicio mysqld usaremos el comando systemctl start:

~$ sudo systemctl start mysqld

Y usaremos systemctl enable para habilitar el inicio automático junto con el sistema:

~$ sudo systemctl enable mysqld

Puedes comprobar en cualquier momento el estado del servicio con el comando systemctl status mysqld:

como instalar mysql en centos 8

Cómo instalar el cliente de MySQL

El cliente mysql se instala automáticamente como dependencia de MySQL Server en CentOS 8.

Pero si solamente necesitas el cliente de consola mysql para conectar a otros servicios y no quieres instalar MySQL Server en tu sistema, el paquete que necesitas es mysql:

~$ sudo yum install -y mysql

Acceder como root a MySQL

La instalación de MySQL en CentOS 8 crea el usuario root sin contraseña y con el plugin de autenticación estándar (mysql_native_password), así que la primera acción que debes realizar es proteger la cuenta de root con contraseña.

Para ello, accede con el cliente de consola mysql al servicio:

~$ mysql -u root

mysql en centos 8

Y establece la contraseña que desees:

> alter user root@localhost identified by 'XXXXXXXX';

Es interesante crear un usuario alternativo que pueda administrar las bases de datos y a otros usuarios, incluso con capacidad de acceso remoto, para no usar root:

> create user chacho identified by 'XXXXXXXX';
> grant all privileges on *.* to chacho with grant option;

En cualquier caso, antes de salir del cliente es conveniente refrescar los permisos del sistema de bases de datos:

> flush privileges;
> exit

Ahora para acceder a MySQL, tanto con root como con tu nuevo usuario, tendrás que proporcionar la contraseña:

~$ mysql -u root -p

Acceso remoto a MySQL en CentOS 8

Para acceder de forma remota a MySQL en CentOS 8 debes tener en cuenta que las conexiones remotas al servicio están permitidas por defecto.

Sin embargo, el firewall de CentOS 8 impide por defecto las conexiones entrantes, por lo que debes crear una regla o excepción para el servicio de bases de datos:

~$ sudo firewall-cmd --permanent --add-service=mysql

Recarga la configuración del firewall para que haga efecto de inmediato:

~$ sudo firewall-cmd --reload

Ahora puedes acceder de forma remota a tu servicio MySQL con un usuario como el que creamos anteriormente (los usuarios @localhost no pueden acceder de forma remota).

Por ejemplo, desde otra máquina Linux podemos usar el cliente de consola mysql indicando con el parámetro -h la dirección IP o dominio de nuestro servidor CentOS 8, y con el parámetro -u el usuario con acceso remoto habilitado:

~$ mysql -h centos8.local.lan -u chacho -p

Cómo configurar MySQL en CentOS 8

Para configurar MySQL en CentOS 8 debes tener en cuenta que su configuración se reparte entre el archivo /etc/my.cnf y el directorio /etc/my.cnf.d/.

El archivo /etc/my.cnf prácticamente lo único que hace es incluir las configuraciones guardadas en el directorio /etc/my.cnf.d/.

Por ejemplo, si quisieras desactivar el acceso remoto al servicio MySQL tendrías que editar el archivo mysql-server.cnf:

~$ sudo nano /etc/my.cnf.d/mysql-server.cnf

Añade al final del archivo esta línea:

...
bind-address=127.0.0.1

Guarda los cambios y cierra el archivo.

Para que los cambios hagan efecto debes reiniciar el servicio mysqld de modo que cargue la nueva configuración:

~$ sudo systemctl restart mysqld

Plugin de autenticación por defecto

En el archivo mysql-default-authentication-plugin.cnf encontrarás el plugin por defecto que se asignará a los nuevos usuarios que se vayan creando:

~$ sudo nano /etc/my.cnf.d/mysql-default-authentication-plugin.cnf

El valor viene especificado en la directiva default_authentication_plugin:

...
[mysqld]
default_authentication_plugin=mysql_native_password
...

Si deseas utilizar el moderno y más seguro caching_sha2_password tendrías que especificarlo en la directiva anterior, pero ten en cuenta que muchos clientes y conectores no están preparados para usar este plugin.

Aun así, puedes tener usuarios que utilicen distintos plugins de autenticación, cambiando el plugin particular para cada usuario, alterando el valor del campo plugin en el registro perteneciente al usuario de la tabla mysql.user, y creando una nueva contraseña que genere un nuevo hash de acuerdo con el plugin.

Conclusión

Acabas de comprobar que instalar y configurar MySQL en CentOS 8 es sencillísimo, necesitando sólo unos instantes para instalar y poner a trabajar este potente servicio de bases de datos.

Si tienes alguna duda, pregunta, sugerencia, etc. nada mejor que dejar un comentario.

¡Apoya este sitio!

¡Ah! Y si gracias a esta pequeña guía de instalación y configuración has conseguido hacer funcionar este motor de bases de datos y quieres agradecérnoslo, cualquier mínima contribución es bienvenida.

Puedes ayudarnos dejando una propina de tan sólo 1 $ desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (4 votos)

Deja un comentario

Ads Blocker Image Powered by Code Help Pro

¡Detectado un bloqueador de publicidad!

Hemos detectado que está usando extensiones para bloquear anuncios prublicitarios. Por favor, ayúdenos desactivando dicho bloqueador para este sitio web. ¡Gracias!