En esta entrada vamos a ver cómo instalar MariaDB en CentOS 8 / Centos Stream 8 paso a paso, de modo que al final de este tutorial tendrás este servicio de bases de datos en tu servidor o VPS CentOS, con o sin acceso remoto.
Contenido
Antes de instalar MariaDB en CentOS 8
Si quieres seguir esta guía de instalación de MariaDB Server en CentOS 8 necesitas pasar estos requerimientos:
- Un sistema CentOS 8 / CentOS Stream 8 actualizado.
- Un usuario con permisos de sudo o el propio root.
- Conexión a Internet.
Como seguramente ya cumples estos requisitos es el momento de regular correctamente la altura de nuestro escritorio y empezar a teclear comandos desde la terminal.
Cómo instalar MariaDB en CentOS 8
Vamos a instalar MariaDB en CentOS 8 usando los repositorios de la distribución, por lo que el primer paso es actualizar la información de las listas de paquetes:
~$ sudo yum update -y
CentOS 8 incluye varias versiones de MariaDB dentro de sus propios módulos. Podemos ver qué versiones están presentes listando dichos módulos:
~$ sudo yum module list mariadb
En el momento de actualizar este tutorial están disponibles las versiones 10.3 (el módulo por defecto), 10.5 y 10.11. Para cambiar de versión hay que desactivar el módulo actual:
~$ sudo yum module disable -y mariadb
Y a continuación activamos el módulo que nos interese; por ejemplo, para la versión 10.11:
~$ sudo yum module enable -y mariadb:10.11
En cualquier caso, el paquete que necesitamos es mariadb-server, así que lo instalaremos con yum:
~$ sudo yum install -y mariadb-server
En unos instantes se habrán descargado e instalado el paquete mariadb-server y sus dependencias, tras lo que se creará en nuestro sistema CentOS 8 el servicio mariadb.service, o mariadb si prefieres el nombre corto.
Tras finalizar la instalación este servicio no ha quedado en ejecución ni tampoco configurado para iniciar automáticamente con el sistema, así que vamos a configurar estos aspectos.
Para disponer de inmediato de MariaDB podemos arrancarlo manualmente con el comando systemctl start:
~$ sudo systemctl start mariadb
Y si quieres que el servicio de bases de datos arranque automáticamente en cada inicio de CentOS 8 debes habilitarlo, en este caso con el comando systemctl enable:
~$ sudo systemctl enable mariadb
Ahora MariaDB estará siempre disponible en nuestra máquina CentOS 8 y podemos empezar a trabajar directamente con el servicio.
Puedes comprobar el estado de MariaDB Server con el comando systemctl status mariadb
:
Instalar el cliente de MariaDB
Al instalar MariaDB como dependencia también se instalará el cliente de consola mysql, por lo que puedes conectar con el servicio y empezar a trabajar de inmediato.
Acceso como root a MariaDB
Al instalar MariaDB en CentOS 8 se crea el usuario administrador root con el que podemos conectar sin contraseña, utilizando el cliente mysql, bien conectando como usuario root de CentOS 8:
# mysql
O, como suele ser más común, un usuario con privilegios de sudo (normalmente nuestro usuario):
~$ sudo mysql
Se cierra la conexión con el comando ‘exit‘.
Crear un superusuario con acceso remoto
Si nos interesa poder administrar remotamente MariaDB Server usando algún cliente, crea un usuario con suficientes privilegios y acceso remoto.
Usando el cliente mysql puedes acceder como root, pero especificando la contraseña que has creado anteriormente:
~$ sudo mysql
Con una sola sentencia puedes crear un usuario capaz de crear bases de datos, usuarios y acceder remotamente:
> grant all privileges on *.* to instalador identified by 'XXXXXXXX' with grant option;
Antes de salir del cliente mysql es aconsejable refrescar la tabla de privilegios de MariaDB:
> flush privileges; > exit
Acceder remotamente a MariaDB en CentOS 8
La instalación por defecto de MariaDB Server en CentOS 8 permite las conexiones remotas, por lo que puedes acceder desde otros sistemas o dispositivos con un cliente.
Sin embargo, necesitarás configurar el firewall de CentOS 8 para lograr la conexión.
Configurar el firewall de CentOS 8 para conexión remota
Vamos a añadir la regla o excepción en el firewall de CentOS 8 para permitir conexiones al servicio MariaDB:
~$ sudo firewall-cmd --permanent --add-service=mysql
Y aplicamos de inmediato esta nueva configuración del firewall de CentOS 8 para MariaDB:
~$ sudo firewall-cmd --reload
Ahora ya puedes conectar desde otro sistema de forma remota, por ejemplo usando el cliente mysql con el parámetro -h para especificar la dirección IP o dominio del servidor CentOS 8, el parámetro -u para indicar el usuario y el parámetro -p para que se solicite la contraseña:
~$ mysql -h centos8.local.lan -u instalador -p
Cómo configurar MariaDB en CentOS 8
Si quieres configurar MariaDB en CentOS 8 o realizar cualquier ajuste, la configuración del servicio se reparte entre el archivo /etc/my.cnf y el directorio /etc/my.cnf.d/.
Por ejemplo, si quisieras desactivar el acceso remoto al servicio debes editar el archivo mariadb-server.cnf:
~$ sudo nano /etc/my.cnf.d/mariadb-server.cnf
Buscamos la directiva bind-address:
... # Allow server to accept connections on all interfaces. # #bind-address=0.0.0.0 ...
La activamos eliminando el carácter # al inicio de línea y cambiamos su valor a la dirección IP local o de localhost:
... bind-address=127.0.0.1 ...
Para que la nueva configuración haga efecto hay que reiniciar el servicio mariadb:
~$ sudo systemctl restart mariadb
Juego de caracteres por defecto para MariaDB en CentOS 8
MariaDB en CentOS 8 trabaja por defecto con el juego de caracteres latin1, cuando lo habitual sería trabajar con utf8 o utf8mb4. Si queremos realizar este ajuste, editamos mariadb-server.cnf:
~$ sudo nano /etc/my.cnf.d/mariadb-server.cnf
Y en la sección server añadimos las siguientes líneas:
... [server] ... character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci ...
Puedes usar si lo prefieres otro juego de caracteres de tu interés, por ejemplo utf8. En cualquier caso, una vez guardados los cambios tenemos que reiniciar el servicio para que MariaDB pase a usar el nuevo juego de caracteres por defecto:
~$ sudo systemctl restart mariadb
Conclusión
Ya has visto qué fácil es instalar MariaDB en CentOS 8 y dejar el servicio en ejecución, listo para crear las bases de datos que necesites e instalar las aplicaciones que requieren este tipo de motor de bases de datos.
Si tienes alguna sugerencia, duda o pregunta puedes dejar un comentario.
¡Apoya comoinstalar.me!
¿Te ha servido nuestra guía de instalación y configuración de este motor de bases de datos? Si es así y quieres agradecérnoslo contribuyendo al mantenimiento de este sitio y la creación de nuevas guías y tutoriales puedes hacerlo dejando 1 $ de propina con PayPal:
O, si te sientes especialmente agradecido, puedes invitarnos a un café:
¡Gracias!
Actualizado para la versión 10.11.