Cómo instalar MariaDB en CentOS 7

En esta entrada vamos a ver cómo instalar MariaDB en CentOS 7 paso a paso, una tarea importante pero muy sencilla a la hora de configurar nuestro servidor o VPS CentOS. Tendrás la posibilidad de instalar tanto la versión de MariaDB 5 de los repositorios de la distribución como la última versión de MariaDB 10 desde los repositorios oficiales de MariaDB.

Antes de instalar MariaDB en CentOS 7

Para seguir esta guía de instalación y configuración de MariaDB en CentOS 7 se necesitan unos mínimos requisitos:

  • Un sistema CentOS 7 actualizado.
  • Acceso por consola como root o un usuario con permisos de sudo.
  • Conexión a Internet.

Se supone que si estás interesado en instalar MariaDB en CentOS 7 ya los cumplirás, así que es hora de regular la altura más cómoda para nuestra mesa y abrir una terminal de comandos porque pasamos a la acción.

Cómo instalar MariaDB en CentOS 7

A la hora de instalar MariaDB en CentOS 7 debemos tener en cuenta que la versión presente en los repositorios es la 5.5. Sin embargo, es posible instalar MariaDB 10 añadiendo el repositorio oficial de MariaDB.

Si te basta con MariaDB 5.5 bastará con usar el gestor de paquetes yum para instalar los paquetes necesarios, por lo que la primera acción será actualizar el sistema:

$ sudo yum update

Ya podemos instalar el paquete  mariadb-server, cuyas dependencias instalarán también el cliente de consola mysql:

~$ sudo yum install -y mariadb-server

Cómo instalar MariaDB 10.6, 10.11, 11.3 y otras en CentOS 7

Sin embargo, si prefieres instalar una versión más reciente de MariaDB en CentOS 7, puedes hacerlo añadiendo un nuevo repositorio para yum. En el momento de actualizar esta guía dispones de estas versiones:

  • MariaDB 10.4: Con soporte hasta junio de 2.024.
  • MariaDB 10.5: Con soporte hasta junio de 2.025.
  • MariaDB 10.6: Versión estable actual, con soporte hasta junio de 2.026.
  • MariaDB 10.11: Lanzamiento actual de la serie 10, con soporte hasta febrero de 2.028 (requiere repositorio EPEL).
  • MariaDB 11.3: Lanzamiento actual de la serie 11, con mantenimiento continuo (requiere repositorio EPEL).
  • Hay otras versiones sin soporte largo, como la 11.0, 11.1 y 11.2 (les quedan unos pocos meses de soporte), así como la versión de desarrollo actual, la 11.4.

Entonces, ¿qué versión de MariaDB instalar en CentOS 7? Pues en principio la que requieran los proyectos en los que vas a trabajar, o las aplicaciones que vayas a instalar y tengan como requisito el servicio MariaDB. Si simplemente quieres instalar un motor de base de datos, MariaDB 10.11 ó MariaDB 11.3 podrían ser buenas elecciones.

Por ejemplo, para el caso de MariaDB 10.6,seguiremos los siguientes pasos (para otra versión basta con cambiar 10.6 por xx.x en los siguientes comandos donde sea pertinente).

Desde MariaDB 10.11 (incluido) en adelante, necesitamos el repositorio EPEL:

~$ sudo yum install -y epel-release

Creamos el archivo de configuración del repositorio de MariaDB:

~$ sudo nano /etc/yum.repos.d/mariadb.org.repo

El contenido de este archivo será el siguiente:

[mariadb]
name = MariaDB 10.6 para CentOS 7
baseurl = https://yum.mariadb.org/10.6/centos/$releasever/$basearch
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Guardamos los cambios y cerramos el archivo.

Actualizamos las listas de paquetes:

~$ sudo yum update -y

Ahora disponemos de muchos nuevos paquetes actualizados de MariaDB para CentOS 7, pero los más destacables son mariadb-server y mariadb-client, para el servidor y el cliente respectivamente de MariaDB. Instalaremos MariaDB con yum:

~$ sudo yum install -y mariadb-server

Cómo configurar el arranque automático e iniciar MariaDB en CentOS 7

Sea cual sea la versión de MariaDB Server que instales en CentOS 7, al final del proceso se creará un nuevo servicio en el sistema, mariadb.service o simplemente mariadb. Si queremos que el servicio MariaDB arranque en cada inicio del sistema, lo tendremos que habilitar con el comando systemctl:

~$ sudo systemctl enable mariadb

Pero si no queremos esperar al próximo reinicio del sistema, podemos arrancar el servicio MariaDB de inmediato también con systemctl:

~$ sudo systemctl start mariadb

Podremos comprobar fácilmente en cualquier momento el estado del servicio con el comando systemctl status mariadb:

como instalar mariadb 10.6 en centos 7

Este comando muestra la versión del servicio que está corriendo, por ejemplo, para MariaDB 10.11:

como instalar mariadb 10.11 en centos 7

O incluso MariaDB 11.3:

como instalar mariadb 11.3 en centos 7

A partir de este momento ya tendríamos disponible el servicio MariaDB para empezar a trabajar con él.

Cómo configurar MariaDB en CentOS 7

Acabamos de ver cómo activar e iniciar el servicio MariaDB, pero es más que interesante saber configurar algunas cosas más. A continuación veremos las más importantes.

Ajustes de seguridad previos en MariaDB

Hasta MariaDB 10.5, antes de empezar a trabajar con el servicio de base de datos se puede ejecutar el script mysql_secure_installation, que se encargará de dejar nuestra instalación más segura que con la configuración que viene por defecto:

~$ sudo mysql_secure_installation

¿Qué nos permite hacer exactamente este script?

  • Si la contraseña de root está en blanco nos da la oportunidad de establecerla (algo más que recomendable).
  • Eliminar los usuarios anónimos.
  • Configurar el acceso de root como exclusivamente local, impidiendo que se conecte remotamente (también muy importante, para evitar ataques).
  • Eliminar la base de datos ‘test‘, que está pensada para hacer pruebas.
  • Finalmente, que todos estos cambios entren en vigor de inmediato.

Es más que recomendable realizar todos los ajustes que nos solicita el script, ya que no perderemos ninguna funcionalidad de MariaDB y se lo pondremos más difícil a potenciales intrusos.

Juego de caracteres por defecto de MariaDB

El juego de caracteres por defecto al instalar MariaDB se configura como latin1, cuando lo correcto para idioma español sería al menos utf8 o, mejor aún, utf8mb4. Para modificar esto editamos el archivo de configuración de MariaDB:

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

Y en la sección mysqld añadimos estas dos líneas:

...
[mysqld]
...
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart mariadb

Cómo crear un administrador remoto en MariaDB

Como es poco aconsejable tener habilitado el acceso remoto de root puede ser interesante configurar un nuevo usuario con privilegios para administración remota. Iniciaremos sesión como root, usando sudo si mantenemos la configuración por defecto:

como configurar mariadb en centos 7

O introduciendo su contraseña si la hemos creado:

~$ mysql -u root -p

Ya iniciada la sesión, crearemos el usuario administrador dándole plenos privilegios:

> grant all privileges on *.* to superusuario identified by 'XXXXXXXX' with grant option;

Al no especificar la parte de la @ en el nombre de usuario, tendrá posibilidad de acceso remoto, es decir, podrá conectar desde cualquier lugar de la red. Además, el superusuario podrá administrar bases de datos, usuarios y sus relaciones entre ellos.

Ya sólo queda cerrar el cliente:

> exit

Lógicamente debes emplear nombres de usuario y contraseñas que tengan sentido para ti.

Cómo acceder remotamente a MariaDB en CentOS 7

En principio, MariaDB Server viene configurado por defecto para ser accesible remotamente, pero no es posible establecer la conexión debido al firewall de CentOS 7, cuya configuración veremos a continuación.

Configurar el firewall de CentOS 7 para acceso remoto a MariaDB

Para poder acceder remotamente al servidor MariaDB en CentOS 7 tenemos que abrir el puerto TCP 3306 en el firewall. Lo podemos hacer de forma permanente o sólo en la sesión que nos interese. De forma permanente, mediante el comando firewall-cmd sería así:

~$ sudo firewall-cmd --permanent --add-port=3306/tcp

Otra forma de hacerlo es permitiendo el servicio, en lugar de especificar el puerto:

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

Para aplicar los cambios de inmediato recargamos la configuración del firewall:

~$ sudo firewall-cmd --reload

Cualquiera de los dos métodos es perfectamente válido.

Cómo activar o desactivar el acceso remoto a MariaDB en CentOS 7

Si quieres activar o desactivar el acceso remoto al servicio MariaDB, tendrías que editar el archivo /etc/my.cnf.d/server.cnf y buscar la directiva bind-address:

...
#bind-address = 0.0.0.0
...

Si se encuentra desactivada o no aparece, generalmente por defecto tomará el valor que permite conexiones en red. Para desactivar el acceso remoto bastará con eliminar el carácter # al inicio de línea y cambiar el valor por 127.0.0.1:

...
bind-address = 127.0.0.1
...

Tras salvar los cambios, reiniciamos el servicio para que se active la nueva configuración.

Para volver a activar o desactivar el acceso remoto a MariaDB en CentOS 7 lo único que hay que hacer es activar/desactivar la directiva bind-address o cambiar su valor por 0.0.0.0/127.0.0.1 y reiniciar de nuevo el servicio.

Si has dejado el acceso remoto activado, podrás establecer la conexión desde otras máquinas de la red con clientes gráficos como MySQL Workbench o con el comando mysql añadiendo el parámetro -h seguido de la dirección IP o nombre de red de la máquina CentOS 7 donde corre MariaDB.

Conclusión

Hemos visto que instalar MariaDB en CentOS 7 es un simple trámite. Con este poderoso sistema de bases de datos, más el servidor web y PHP tendremos un sistema LAMP potente para desarrollar aplicaciones web.

Para cualquier pregunta o error, sugerencia de nuevos artículos, etc. no dudes en dejarme un comentario.

¡Apoya comoinstalar.me!

¿Te ha resultado útil este tutorial? ¿Quieres contribuir a la creación de nuevos tutoriales como este?

Si es así puedes apoyarnos dejando 1 $ de propina con PayPal:

O, si te sientes especialmente generoso, invitándonos a un café:

¡Gracias!

Valora esta entrada

5/5 - (5 votos)

9 comentarios en «Cómo instalar MariaDB en CentOS 7»

Deja un comentario