Cómo instalar MariaDB en Ubuntu 22.04

Introducción

MariaDB es un sistema de gestión de bases de datos relacional de código abierto, comúnmente utilizado como una alternativa a MySQL como la parte de base de datos del popular stack LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Está diseñado para ser un reemplazo directo de MySQL.

La versión abreviada de esta guía de instalación consta de estos tres pasos:

  • Actualizar el índice de paquetes utilizando apt
  • Instalar el paquete mariadb-server utilizando apt. El paquete también incluye herramientas relacionadas para interactuar con MariaDB
  • Ejecutar el script de seguridad mysql_secure_installation incluido para restringir el acceso al servidor
  1. sudo apt update
  2. sudo apt install mariadb-server
  3. sudo mysql_secure_installation

Este tutorial explicará cómo instalar MariaDB en un servidor Ubuntu 22.04 y verificar que esté en funcionamiento y tenga una configuración inicial segura.

Prerrequisitos

Paso 1: Instalación de MariaDB

En el momento de escribir esto, los repositorios APT predeterminados de Ubuntu 22.04 incluyen MariaDB versión 10.5.12.

Para instalarlo, actualiza el índice de paquetes en tu servidor con apt:

  1. sudo apt update

Luego instala el paquete:

  1. sudo apt install mariadb-server

Estos comandos instalarán MariaDB, pero no te pedirán que establezcas una contraseña ni realices otros cambios de configuración. Debido a que la configuración predeterminada deja la instalación de MariaDB insegura, utilizarás un script que proporciona el paquete mariadb-server para restringir el acceso al servidor y eliminar cuentas no utilizadas.

Paso 2: Configuración de MariaDB

Para nuevas instalaciones de MariaDB, el siguiente paso es ejecutar el script de seguridad incluido. Este script cambia algunas de las opciones predeterminadas menos seguras, como los inicios de sesión remotos de root y usuarios de muestra.

Ejecuta el script de seguridad:

  1. sudo mysql_secure_installation

Esto te llevará a través de una serie de indicaciones donde podrás hacer algunos cambios en las opciones de seguridad de tu instalación de MariaDB. La primera indicación te pedirá que ingreses la contraseña actual de la base de datos root. Dado que aún no has configurado una, presiona ENTER para indicar “ninguna”.

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 te preguntará si deseas cambiar a la autenticación de socket Unix. Dado que ya tienes una cuenta root protegida, puedes omitir este paso. Escribe n y luego presiona 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 siguiente indicación te pregunta si deseas configurar una contraseña para la base de datos root. En Ubuntu, la cuenta root para MariaDB está estrechamente vinculada al mantenimiento automatizado del sistema, por lo que no debes cambiar los métodos de autenticación configurados para esa cuenta.

Hacerlo haría posible que una actualización de paquetes rompiera el sistema de base de datos al eliminar el acceso a la cuenta administrativa. Escribe n y luego presiona 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, verás cómo configurar una cuenta administrativa adicional para el acceso mediante contraseña si la autenticación de socket no es apropiada para tu caso de uso.

A partir de ahí, puedes presionar Y y luego ENTER para aceptar los valores predeterminados para todas las preguntas subsiguientes. Esto eliminará algunos usuarios anónimos y la base de datos de prueba, desactivará los inicios de sesión remotos de root y cargará estas nuevas reglas para que MariaDB implemente inmediatamente los cambios que hayas realizado.

Con eso, has terminado la configuración de seguridad inicial de MariaDB. El siguiente paso es opcional, aunque deberías seguirlo si prefieres autenticarte en tu servidor de MariaDB con una contraseña.

Paso 3 — (Opcional) Crear un Usuario Administrativo que Emplea Autenticación por Contraseña

En sistemas Ubuntu que ejecutan MariaDB 10.5, el usuario MariaDB root está configurado para autenticarse utilizando el complemento unix_socket de forma predeterminada en lugar de con una contraseña. Esto permite una mayor seguridad y usabilidad en muchos casos, pero también puede complicar las cosas cuando necesitas permitir que un programa externo (por ejemplo, phpMyAdmin) tenga derechos administrativos.

Dado que el servidor utiliza la cuenta root para tareas como la rotación de registros y el inicio y detención del servidor, es mejor no cambiar los detalles de autenticación de la cuenta root. Cambiar las credenciales en el archivo de configuración /etc/mysql/debian.cnf puede funcionar inicialmente, pero las actualizaciones del paquete podrían sobrescribir esos cambios. En lugar de modificar la cuenta root, los mantenedores del paquete recomiendan crear una cuenta administrativa separada para el acceso basado en contraseña.

Con este fin, crearemos una nueva cuenta llamada admin con las mismas capacidades que la cuenta root, pero configurada para autenticación de contraseña. Abre el prompt de MariaDB desde tu terminal:

  1. sudo mariadb

Luego crea un nuevo usuario con privilegios de root y acceso basado en contraseña. Asegúrate de cambiar el nombre de usuario y la contraseña según tus preferencias:

  1. GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Flush the privileges para asegurarte de que se guarden y estén disponibles en la sesión actual:

  1. FLUSH PRIVILEGES;

Tras esto, sal del shell de MariaDB:

  1. exit

Finalmente, vamos a probar la instalación de MariaDB.

Paso 4 — Probando MariaDB

Cuando se instala desde los repositorios predeterminados, MariaDB se ejecutará automáticamente. Para probar esto, verifica su estado.

  1. sudo systemctl status mariadb

Recibirás una salida similar 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 se está ejecutando, puedes iniciarla con el comando sudo systemctl start mariadb.

Para una verificación adicional, puedes intentar conectar a la base de datos utilizando la herramienta mysqladmin, que es un cliente que te permite ejecutar comandos administrativos. Por ejemplo, este comando dice conectarse a MariaDB como root utilizando el socket Unix y retornar la versión:

  1. sudo mysqladmin version

Recibirás una salida similar 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, instalaste el sistema de gestión de bases de datos relacionales MariaDB y lo aseguraste utilizando el script mysql_secure_installation con el que venía instalado. También tuviste la opción de crear un nuevo usuario administrativo que utiliza autenticación de contraseña antes de probar la funcionalidad del servidor MariaDB.

Ahora que tienes un servidor MariaDB en funcionamiento y seguro, aquí tienes algunos ejemplos de los siguientes pasos que puedes tomar para trabajar con el servidor:

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-22-04