Cómo instalar MariaDB en Debian 12 Bookworm

En este artículo vamos a explicar cómo instalar MariaDB Server en Debian 12 Bookworm paso a paso, de modo que puedas trabajar con este potente motor de bases de datos relacionales sobre tu servidor o VPS Debian, tanto para tus propios desarrollos como para aplicaciones de terceros.

Antes de instalar MariaDB en Debian 12 Bookworm

Para seguir los pasos de esta guía de instalación de MariaDB Server en Debian 12 Bookworm sólo necesitas cumplir estos requisitos mínimos:

  • Una máquina Debian 12 Bookworm actualizada.
  • Un usuario con permisos de sudo.
  • Acceso a Internet.

Como seguro que ya cumples todo esto, puedes ir abriendo tu terminal de comandos favorita y empezamos con el trabajo.

Cómo instalar MariaDB en Debian 12 Bookworm

A la hora de instalar MariaDB Server en Debian 12 Bookworm hay que tener en cuenta que la versión disponible en el repositorio de la distribución pertenece a la rama 10.11, bastante actual y con soporte largo. Pero si necesitas instalar una versión distinta podrías hacerlo desde los repositorios oficiales de MariaDB. Si te sirve la versión 10.11 puedes saltarte la siguiente sección.

Repositorio oficial de MariaDB para Debian 12 Bookworm

Como el repositorio de MariaDB para Debian 12 Bookworm está firmado, hay que instalar su clave pública para verificar las firmas. Para ello creamos un directorio donde guardar dicha clave:

~$ sudo mkdir -p /etc/apt/keyrings

Y descargamos la clave pública:

~$ sudo wget -O /etc/apt/keyrings/mariadb-keyring.pgp https://mariadb.org/mariadb_release_signing_key.pgp

Ahora creamos un archivo de configuración del repositorio:

~$ sudo nano /etc/apt/sources.list.d/mariadb.org.sources

Las versiones por las que podemos optar son las de soporte largo (5 años), como la 10.6, la 10.11 y la 11.4, ó versiones rolling, como la 11.3. Con esto presente, incluimos las siguientes línea en el archivo de repositorio:

X-Repolib-Name: MariaDB
Types: deb
URIs: https://deb.mariadb.org/11.3/debian
Suites: bookworm
Components: main
Signed-By: /etc/apt/keyrings/mariadb-keyring.pgp

Como habrás observado, hemos elegido la versión 11.3, pero para instalar cualquier otra sólo tienes que modificar la directiva «URIs» para que se ajuste a la versión que necesitas.

Guardados los cambios, ya podemos cerrar el archivo.

Instalación de MariaDB en Debian 12 Bookworm

Sea cual sea la versión que hayas elegido instalar, el primer paso es actualizar la información de los repositorios:

~$ sudo apt update

Igualmente, sea cual sea la versión que vayas a instalar, el nombre del paquete es el mismo:

~$ sudo apt install -y mariadb-server

Terminada la descarga e instalación de MariaDB Server y sus dependencias disponemos de un nuevo servicio en Debian 12, el servicio mariadb o mariadb.service, que queda en ejecución y habilitado para iniciar automáticamente.

Podemos comprobar el estado del servicio en cualquier momento con el comando systemctl:

~$ systemctl status mariadb

como instalar mariadb en debian 12 bookworm

El servicio ya está disponible para aceptar únicamente conexiones locales.

Cómo conectar al servicio desde consola

Inicialmente el servicio MariaDB sólo incluye el usuario administrador root con acceso mediante sockets de Unix, es decir, sólo podremos conectar con un cliente de consola si somos el usuario root de Debian 12:

~# mysql

O si utilizamos sudo con cualquier otro usuario:

~$ sudo mysql

mariadb server en debian 12 bookworm

Observa que a partir de MariaDB 11 se recomienda usar el comando mariadb en lugar de mysql.

Lo más recomendable es crear fácilmente un nuevo usuario administrador con contraseña y posibilidad de acceso remoto con el siguiente comando:

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

Actualizamos la tabla de permisos:

> flush privileges;

Sólo si prefieres acceder con el usuario root mediante contraseña, algo que no es aconsejable, puedes crearla una vez conectado al servicio:

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

Cerramos la conexión con el comando exit:

> exit

Para conectar con el nuevo usuario administrador, si lo has creado, tendremos que indicarlo como parámetro en el comando mysql:

~$ mysql -u chacho -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
...
MariaDB [(none)]>

Y si hubieras creado contraseña para el usuario root habrá que conectar de un modo similar:

~$ mysql -u root -p

Si usas root con contraseña y prefieres volver al método inicial (lo recomendable), puedes hacer el cambio así:

> alter user root@localhost identified via unix_socket;

Cómo configurar MariaDB en Debian 12 Bookworm

La tarea de configurar MariaDB en Debian 12 Bookworm es sencilla, ya que los valores por defecto son seguros y adecuados, incluyendo el juego de caracteres utf8mb4. Sin embargo, no está de más ver algunos ajustes adicionales que nos darán la pista de cómo solucionar otros ajustes futuros.

Los archivos de configuración de MariaDB en Debian 12 se organizan bajo la ruta /etc/mysql/, siendo el archivo principal my.cnf cuya función más importante es incluir otros archivos organizados en los subdirectorios como conf.d/ y mariadb.conf.d/.

Acceso mediante sockets con el plugin unix_socket

Si has creado una contraseña para el usuario root y quieres volver a la autenticación por sockets, o quieres que tu usuario personal use esta autenticación, el usuario deberá utilizar unix_socket como plugin de autenticación. Esto es fácil de hacer una vez conectados mediante el siguiente comando:

> alter user root@localhost identified via 'unix_socket';

Para cualquier usuario se haría del mismo modo, por ejemplo, para el usuario de trabajo que creamos anteriormente:

> alter user chacho identified via unix_socket;

En cualquier caso conviene refrescar la tabla de permisos antes de cerrar la conexión:

> flush privileges;

Para volver a la autenticación por contraseña, simplemente la creamos de nuevo:

> alter user chacho identified by 'XXXXXXXX';

Acceso remoto al servicio

Si deseas activar el acceso remoto a MariaDB en Debian 12 habrá que editar el archivo 50-server.cnf:

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

Buscaremos la directiva bind-address:

...
bind-address            = 127.0.0.1
...

Y la desactivaremos insertando el carácter # al inicio de línea:

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

Tras guardar los cambios será necesario reiniciar el servicio:

~$ sudo systemctl restart mariadb

Si lo tienes activado, habrá que configurar el firewall de Debian 12 para MariaDB añadiendo la correspondiente regla. En el caso de UFW se haría así:

~$ sudo ufw allow mysql

Ahora ya sería posible conectar desde otro sistema en red con algún cliente como, por ejemplo, mysql indicando la dirección del servidor Debian 12 donde corre el servicio MariaDB y el usuario. Obviamente, el usuario que accede debe tener activado el uso de contraseña.

Por ejemplo, la máquina Debian 12 sobre la que hemos preparado esta guía es accesible en el subdominio debian12.local.lan, y utilizaremos el usuario chacho creado anteriormente desde otra máquina de la red:

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

instalar y configurar mariadb en debian 12 bookworm

Funciona como se esperaría.

Conclusión

Ahora que sabes cómo instalar MariaDB Server en Debian 12 Bookworm ya puedes trabajar con bases de datos relacionales, bien se trate de tus propios desarrollos, bien sea el soporte para aplicaciones y sistemas de terceros.

Si te ha quedado alguna duda o tienes preguntas, sugerencias, correcciones, etc. puedes dejar un comentario que, aunque están censurados para luchar contra el SPAM, se revisan prácticamente a diario.

Y si ya puedes trabajar con bases de datos en tu propia máquina gracias a esta breve guía y quieres agradecérnoslo, cualquier pequeña contribución sirve para mantener este sitio en línea y crear más artículos y tutoriales.

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

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

¡Gracias!

5/5 - (1 voto)

Deja un comentario

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.