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.
Contenido
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).
- MariaDB 11.4: Lanzamiento actual de la serie 11 con soporte a largo plazo (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).
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.4 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
:
Este comando muestra la versión del servicio que está corriendo, por ejemplo, para MariaDB 10.11:
O incluso MariaDB 11.3:
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:
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!
Actualizado para incluir las versiones 10.11 y 11.3.
Actualizado a la versión 10.6.11.
Muchas gracias, tenía problemas en la sintaxis UTF character.
Ahora se ha resuelto.
De nada, chrisj. Me alegro de que te haya servido.
Actualizado a la versión 10.6.8.
Muy buen tutorial.
Saludos.
¡Gracias, Jonathan!
Muy útil, aprendí mucho. Muchas gracias.
¡De nada, Frantzso!