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:

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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo mkdir -p /etc/apt/keyrings
~$ sudo mkdir -p /etc/apt/keyrings
~$ sudo mkdir -p /etc/apt/keyrings

Y descargamos la clave pública:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo wget -O /etc/apt/keyrings/mariadb-keyring.pgp https://mariadb.org/mariadb_release_signing_key.pgp
~$ sudo wget -O /etc/apt/keyrings/mariadb-keyring.pgp https://mariadb.org/mariadb_release_signing_key.pgp
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo nano /etc/apt/sources.list.d/mariadb.org.sources
~$ sudo nano /etc/apt/sources.list.d/mariadb.org.sources
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo apt update
~$ sudo apt update
~$ sudo apt update

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo apt install -y mariadb-server
~$ sudo apt install -y mariadb-server
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ systemctl status mariadb
~$ systemctl status mariadb
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~# mysql
~# mysql
~# mysql

O si utilizamos sudo con cualquier otro usuario:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo mysql
~$ sudo mysql
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> grant all privileges on *.* to chacho identified by 'XXXXXXXX' with grant option;
> grant all privileges on *.* to chacho identified by 'XXXXXXXX' with grant option;
> grant all privileges on *.* to chacho identified by 'XXXXXXXX' with grant option;

Actualizamos la tabla de permisos:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> flush privileges;
> flush privileges;
> 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> alter user root@localhost identified by 'XXXXXXXX';
> alter user root@localhost identified by 'XXXXXXXX';
> alter user root@localhost identified by 'XXXXXXXX';

Cerramos la conexión con el comando exit:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> exit
> exit
> exit

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ mysql -u chacho -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
...
MariaDB [(none)]>
~$ mysql -u chacho -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. ... MariaDB [(none)]>
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ mysql -u root -p
~$ mysql -u root -p
~$ mysql -u root -p

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> alter user root@localhost identified via unix_socket;
> alter user root@localhost identified via unix_socket;
> 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> alter user root@localhost identified via 'unix_socket';
> alter user root@localhost identified via 'unix_socket';
> 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> alter user chacho identified via unix_socket;
> alter user chacho identified via unix_socket;
> alter user chacho identified via unix_socket;

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> flush privileges;
> flush privileges;
> flush privileges;

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> alter user chacho identified by 'XXXXXXXX';
> alter user chacho identified by 'XXXXXXXX';
> 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Buscaremos la directiva bind-address:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
...
bind-address = 127.0.0.1
...
... bind-address = 127.0.0.1 ...
...
bind-address            = 127.0.0.1
...

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
...
#bind-address = 127.0.0.1
...
... #bind-address = 127.0.0.1 ...
...
#bind-address            = 127.0.0.1
...

Tras guardar los cambios será necesario reiniciar el servicio:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo systemctl restart mariadb
~$ sudo systemctl restart mariadb
~$ 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í:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ sudo ufw allow mysql
~$ sudo ufw allow mysql
~$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
~$ mysql -h debian12.local.lan -u chacho -p
~$ mysql -h debian12.local.lan -u chacho -p
~$ 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.

Buy Me A Coffee
Gracias por la visita. Si te gusta el artículo, ¡puedes invitarme a un café!