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
utilizandoapt
. 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
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
- Para seguir este tutorial, necesitarás un servidor que ejecute Ubuntu 22.04. Este servidor debe tener un usuario administrativo no raíz y un firewall configurado con UFW. Configúralo siguiendo nuestra guía de configuración inicial de servidor para Ubuntu 22.04.
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
:
Luego instala el paquete:
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:
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”.
OutputNOTE: 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:
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:
Flush the privileges para asegurarte de que se guarden y estén disponibles en la sesión actual:
Tras esto, sal del shell de MariaDB:
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.
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:
Recibirás una salida similar a esta:
Outputmysqladmin 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