Web y datos

Cómo instalar MariaDB en un sistema Linux basado en Debian o Ubuntu

Instalación de MariaDB en Debian o Ubuntu: actualización de los paquetes con apt, paquete mariadb-server, script mysql_secure_installation y pruebas finales.

· 5 min de lectura · nivel principiante · en Ubuntu 22.04

Introducción

MariaDB es un sistema de gestión de bases de datos relacionales de código abierto, utilizado habitualmente como alternativa a MySQL, una base de datos presente a menudo en la difundida pila LAMP ( Linux, Apache, MySQL, PHP / Python / Perl ). MariaDB está pensado para ser un sustituto de MySQL.

La versión corta de esta guía de instalación consta de estas tres etapas:

  • Actualizar su lista de paquetes con apt
  • Instalar el paquete mariadb-server con apt. El paquete arrastra además las herramientas asociadas para interactuar con MariaDB
  • Ejecutar el script de seguridad mysql_secure_installation para restringir el acceso al servidor
Illustration 1 — Comment installer MariaDB sur un système Linux basé sur Debian ou Ubuntu

Etapa 1 — Instalación de MariaDB

En el momento de redactar este artículo, los repositorios APT predeterminados de Ubuntu 22.04 ’ incluyen la versión 10.5.12 de MariaDB.

Para instalarla, actualice el índice de paquetes de su servidor con apt:

sudo apt update

Instale después el paquete de MariaDB en versión servidor:

sudo apt install mariadb-server

Estos comandos instalarán MariaDB, pero no le pedirán que defina una contraseña ni que realice otros cambios de configuración. Dado que la configuración predeterminada deja su instalación de MariaDB sin proteger, utilizará un script que proporciona el paquete mariadb-server para restringir el acceso al servidor y suprimir las cuentas no utilizadas.

Etapa 2 — Configuración de MariaDB

Para las instalaciones nuevas de MariaDB, la etapa siguiente consiste en ejecutar el script de seguridad incluido. Este script modifica algunas de las opciones predeterminadas menos seguras.

Ejecute el script de seguridad:

sudo mysql_secure_installation

Esto le llevará a través de una serie de preguntas en las que podrá aportar cambios a las opciones de seguridad de su instalación de MariaDB. La primera pregunta le pedirá que introduzca la contraseña actual del usuario root. Como todavía no ha establecido ninguna, pulse ENTER.

Output
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, you'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):

Se le preguntará si desea pasar a la autenticación con socket unix. Como ya ha protegido la cuenta root, puede omitir esta etapa. Escriba n y pulse después ENTER.

Output
. . .
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] n

La pregunta siguiente le plantea si desea configurar la contraseña del usuario root. En Ubuntu, la cuenta root de MariaDB está estrechamente ligada al mantenimiento automatizado del sistema, por lo que no debe modificar los métodos de autenticación configurados para esa cuenta.

Hacerlo podría afectar al sistema de bases de datos al suprimir el acceso a la cuenta administrativa. Escriba n y pulse después ENTER.

Output
. . .
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] n

Más adelante repasará la forma de configurar una cuenta administrativa adicional para el acceso por contraseña, si la autenticación por socket no conviene a su caso de uso.

A partir de ahí, puede pulsar Y y después ENTER para aceptar los valores predeterminados en todas las preguntas siguientes. Esto suprimirá algunos usuarios anónimos y la base de datos de prueba, desactivará la conexión como root y cargará las nuevas reglas para que MariaDB aplique de inmediato los cambios que ha realizado.

Con esto ha terminado la configuración de seguridad inicial de MariaDB. La etapa siguiente es opcional, pero debe seguirla si prefiere autenticarse en su servidor MariaDB con una contraseña.

Etapa 3 — Prueba de MariaDB

Cuando se instala a partir de los repositorios predeterminados, MariaDB empezará a funcionar automáticamente. Para comprobarlo, verifique su estado.

sudo systemctl status mariadb

Recibirá una salida parecida a la siguiente:

Output
● mariadb.service - MariaDB 10.5.12 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-03-11 22:01:33 UTC; 14min ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
. . .

Si MariaDB no está funcionando, puede iniciarla con el comando sudo systemctl start mariadb.

Como comprobación adicional, puede intentar conectarse a la base de datos con la herramienta mysqladmin, un cliente que le permite ejecutar comandos administrativos. Por ejemplo, este comando indica que se conecte a MariaDB como root mediante el socket Unix y devuelva la versión:

sudo mysqladmin version

Recibirá una salida parecida a esta:

Output
mysqladmin  Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version        10.5.12-MariaDB-1build1
Protocol version    10
Connection        Localhost via UNIX socket
UNIX socket        /run/mysqld/mysqld.sock
Uptime:            15 min 53 sec
Threads: 1  Questions: 482  Slow queries: 0  Opens: 171  Open tables: 28  Queries per second avg: 0.505

Conclusión

En esta guía ha instalado el sistema de gestión de bases de datos relacionales MariaDB y lo ha asegurado con el script mysql_secure_installation que lo acompaña.

Menciones

Guía adaptada para Awoui a partir del trabajo de Brian Boucheron/DigitalOcean bajo licencia International Creative Commons Attribution NonCommercial ShareAlike 4.0