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.
Tabla de contenidos
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
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
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
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!