Cómo instalar MariaDB en Debian 10 Buster

Esta entrada la dedicamos a una pequeña guía sobre cómo instalar MariaDB en Debian 10 Buster paso a paso. Si necesitas un motor de bases de datos para tus propios desarrollos o para aplicaciones complejas, MariaDB es una de las mejores opciones que puedes instalar en tu servidor o VPS Debian. Al final de esta guía tendrás el servicio de bases de datos funcionando y configurado, con tu propio usuario administrador y acceso remoto.

Antes de instalar MariaDB en Debian 10 Buster

Si vas a seguir esta guía de instalación de MariaDB en Debian 10 debes cumplir estos mínimos requisitos:

  • Un sistema Debian 10 actualizado.
  • Conexión a Internet.
  • Acceso a línea de comandos como root o un usuario con privilegios de sudo.

Con todo esto preparado, es hora de abrir nuestra terminal de comandos y ponernos manos a la obra.

Cómo instalar MariaDB en Debian 10 Buster

La forma de instalar MariaDB en Debian 10 Buster es a través de los paquetes del propio repositorio de la distribución. Por lo tanto, la primera acción es actualizar la información de las listas de paquetes de apt:

~$ sudo apt update

Opcionalmente, pero muy recomendable, se puede aprovechar para actualizar los paquetes ya instalados en el sistema:

~$ sudo apt -y upgrade

Ya está el sistema preparado para instalar nuevos paquetes procedentes del repositorio. En esta ocasión el paquete que buscamos es mariadb-server, que corresponde a la versión 10.3 de MariaDB. Usamos apt para instalarlo:

~$ sudo apt install -y mariadb-server

Una vez descargados e instalados los paquetes y dependencias se crea el nuevo servicio mariadb.service. También puedes usar el nombre corto mariadb. Tras la instalación el servicio mariadb queda activado para arrancar junto con tu sistema Debian 10 y también se ha iniciado, como puedes comprobar con el comando systemctl status mariadb:

como instalar mariadb en debian 10 buster

Cómo instalar el cliente de MariaDB en Debian 10

Si te preguntas cómo instalar un cliente para conectar con el servicio MariaDB, puedes utilizar el cliente de consola mysql,  ya que se instala como una de las dependencias del servidor.

Cómo configurar MariaDB Server en Debian 10 Buster

Archivos y directorios de configuración

Para realizar cualquier cambio de configuración del servicio MariaDB en Debian 10 encontrarás todos los archivos de configuración organizados en distintas carpetas bajo la ruta /etc/mysql/.

Autenticación del usuario root de MariaDB

Algo que debes tener muy en cuenta cuando instalas MariaDB en Debian 10 es que el usuario root de MariaDB utiliza el plugin de autenticación unix_socket, por lo que no tiene contraseña. Esto significa que sólo se puede conectar a MariaDB como superusuario root siendo root en Debian o un usuario que pueda utilizar sudo:

~$ sudo mysql

instalar mariadb server en debian 10 buster

Sin embargo, cualquier usuario que crees con root sí usará el sistema habitual de autenticación por contraseña.

Si por algún motivo deseas que root de MariaDB también use el sistema de autenticación por contraseña, sigue estos pasos:

~$ sudo mysql

> update mysql.user set plugin='' where user='root';

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

> flush privileges;

> exit

~$

En resumen lo que hacemos es anular el plugin unix_socket para el usuario root dejando que MariaDB use el plugin por defecto. Lógicamente a continuación establecemos una contraseña para root.

Ahora cualquier usuario de Debian 10 puede iniciar sesión como root en MariaDB si conoce su contraseña.

~$ mysql -u root -p
Enter password:

>

Dependerá de las necesidades del sistema o de tus gustos personales usar un sistema de autenticación u otro para root.

¿Es necesario el script mysql_secure_installation?

En cualquier instalación de MariaDB o MySQL se suele usar el script mysql_secure_installation para dejar el motor de bases de datos lo más seguro posible, pero en Debian 10 no es necesario usarlo.

Las razones:

  • El usuario root usa el plugin unix_socket por lo que este script aunque establezca una contraseña no la hará funcionar.
  • Además, el usuario root sólo tiene acceso local, impidiendo su uso en conexiones remotas.
  • No existen bases de datos de pruebas ni usuarios con acceso anónimo, por lo que no hay que eliminarlos.

Como siempre, las instalaciones de paquetes de Debian 10 suelen tener configuraciones por defecto bastante seguras, y MariaDB no iba a ser menos.

Cómo crear tu propio usuario administrador

Quizás te interese poder trabajar y administrar MariaDB con un usuario distinto de root, incluso con capacidades de acceso remoto. Vamos a crear nuestro propio usuario con capacidades de crear otros usuarios y bases de datos.

~$ sudo mysql

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

> flush privileges;

> exit

~$

Este nuevo usuario podrá crear otros usuarios y bases de datos, administrar permisos y acceder de forma remota a MariaDB.

Configurar el acceso remoto a MariaDB en Debian 10 Buster

A diferencia de otros sistemas, en Debian 10 la instalación por defecto de MariaDB no permite conexiones remotas, solamente locales.

Sin embargo, si necesitas permitir acceso remoto al servicio MariaDB es fácil configurarlo. Es necesario editar el archivo /etc/mysql/mariadb.conf.d/50-server.cnf:

~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Buscaremos dentro de la sección [mysqld] la directiva bind-address:

...
[mysqld]
...
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 127.0.0.1
...

Si nos fijamos en el valor de la configuración por defecto, 127.0.0.1, podemos darnos cuenta de que sólo están permitidas las conexiones locales, desde el propio sistema Debian 10.

Para permitir el acceso remoto a MariaDB podemos cambiar este valor a 0.0.0.0 ó desactivar la directiva precediéndola con un carácter #:

...
#bind-address            = 127.0.0.1
...

Desactivar la directiva tiene el mismo efecto que cambiar su valor por 0.0.0.0, que es permitir las conexiones desde cualquier otra máquina externa, incluyendo conexiones desde Internet.

Para que los cambios tomen efecto, hay que reiniciar el servicio mariadb:

~$ sudo systemctl restart mariadb.service

Desde este momento el acceso remoto está permitido y a la espera de conexiones.

Cómo conectar remotamente al servicio MariaDB en Debian 10

Para probar el acceso remoto a nuestro servicio MariaDB en Debian 10 conectaremos desde otra máquina de la red local, usando el cliente mysql que está presente en prácticamente todos los sistemas con MariaDB o MySQL.

El uso del cliente mysql para conexiones remotas es similar al uso local, basta con usar el parámetro -h acompañado de la dirección IP o nombre de la máquina a la que queremos conectar.

En este ejemplo, el sistema Debian 10 en el que hemos instalado MariaDB tiene la dirección IP local 192.168.112.118, y su nombre cualificado completo o FQDN es debian10.local.lan. Cualquiera de estos dos valores puede ser usado para conectar desde otro punto de la red, con nuestro usuario creado con posibilidad de acceso remoto:

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

O si prefieres usar la dirección IP del sistema Debian 10:

~$ mysql -h 192.168.112.118 -u chacho -p

Uses el método que uses, al establecerse la conexión se te pedirá la contraseña del usuario de MariaDB e inmediatamente se abrirá la sesión de trabajo:

~$ mysql -h debian10.local.lan -u chacho -p
Enter password:

MariaDB [(none)]>

Y ya estaríamos listos para trabajar.

Sincronizar la zona horaria de MariaDB con Debian 10

Puede ocurrir que MariaDB no configure la zona horaria correctamente y trabaje internamente con una hora distinta a la del sistema. La primera vez que se apague el sistema todo irá bien, pero después de iniciar el sistema, en el siguiente apagado MariaDB lo impedirá y obtendremos este mensaje:

a stop job is running for mariadb 10.3.27 database server

Antes de apagar y que te ocurra esto puedes comprobar si MariaDB Server sincroniza la zona horaria con Debian 10 mediante el comando systemctl status mariadb. Verás una línea similar a esta:

...
 Active: active (running) since Thu XXXX-XX-XX 22:53:43 CEST; 1h 57min left
...

Si esa marca horaria va adelantada (o retrasada) en una o más horas con respecto a la hora del sistema es muy posible que se deba a que el reloj de tiempo real o RTC no esté configurado en UTC, por lo que MariaDB aplicará el desfase de la zona horaria del sistema al RTC, de ahí la disparidad. Se soluciona configurando el RTC en horario UTC.

Conclusión

Ahora ya sabes cómo instalar y configurar MariaDB en Debian 10 paso a paso y podrás crear tus propios usuarios y bases de datos. Pero también serás capaz de dejar el servicio listo para que puedan funcionar complejas aplicaciones y sistemas que usan este motor de bases de datos.

¿Tienes alguna duda, pregunta o sugerencia? Déjame un comentario y le echo un vistazo.

¡Apoya este sitio!

Si te hacías un lío con la instalación y configuración de MariaDB en Debian 10 y has salido del callejón sin salida con esta pequeña guía, puedes agradecérmelo si quieres dejando una propina de 1 $ para una Cocacola desde PayPal:

O, si te sientes especialmente generoso, puedes  invitarme a un café…

¡Gracias!

5/5 - (1 voto)
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!