Cómo instalar MariaDB en Debian 10

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1: Instalación de MariaDB
  • Paso 2: Configuración de MariaDB
  • Paso 3 (opcional): Ajuste de la autenticación y los privilegios del usuario
  • Paso 4: Prueba de MariaDB
  • Conclusión
  • MariaDB es un sistema de gestión de bases de datos (DBMS) de código abierto, que se utiliza habitualmente como alternativa a la parte MySQL de la popular pila LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Su objetivo es reemplazar directamente a MySQL y Debian, que ahora solo se entrega con paquetes MariaDB. Si intenta instalar paquetes relacionados con el servidor MySQL, recibirá las versiones de reemplazo de MariaDB compatibles.

    La versión corta de esta guía de instalación consta de los siguientes tres pasos:

    • Actualice su índice de paquetes usandoapt
    • Instale el mariadb-serverpaquete utilizando apt. El paquete también incluye herramientas relacionadas para interactuar con MariaDB
    • Ejecute el mysql_secure_installationscript de seguridad 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 versión 10.3 en un servidor Debian 10, y verificar que esté funcionando y tenga una configuración inicial segura.

    Prerrequisitos

    Para completar este tutorial, necesitará un servidor Debian 10 configurado con un usuario no rootsudo con privilegios y un firewall. Puede configurarlo siguiendo nuestra guía de configuración inicial del servidor .

    Paso 1: Instalación de MariaDB

    En Debian 10, la versión 10.3 de MariaDB está incluida en los repositorios de paquetes APT de forma predeterminada. El equipo de empaquetado MySQL/MariaDB de Debian la marca como la variante MySQL predeterminada.

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

    1. sudo apt update

    Luego instala el paquete:

    1. sudo apt install mariadb-server

    Estos comandos instalarán MariaDB, pero no le solicitarán que establezca una contraseña ni que realice otros cambios de configuración. Debido a que la configuración predeterminada hace que la instalación de MariaDB sea insegura, deberá utilizar un script que mariadb-serverproporciona el paquete para restringir el acceso al servidor y eliminar las cuentas no utilizadas.

    Paso 2: Configuración de MariaDB

    En el caso de las nuevas instalaciones de MariaDB, el siguiente paso es ejecutar el script de seguridad incluido. Este script cambia algunas de las opciones predeterminadas menos seguras. Lo utilizaremos para bloquear los inicios de sesión remotos de root y eliminar usuarios de bases de datos no utilizados.

    Ejecute el siguiente script de seguridad:

    1. sudo mysql_secure_installation

    Aparecerán una serie de mensajes en los que podrá realizar algunos cambios en las opciones de seguridad de su instalación de MariaDB. El primer mensaje le pedirá que ingrese la contraseña de root de la base de datos actual . Como aún no ha configurado una, presione ENTERpara indicar “ninguna”.

    El siguiente mensaje le preguntará si desea configurar una contraseña de root para la base de datos . Escriba Ny luego presione ENTER. En Debian, la cuenta root para MariaDB está estrechamente vinculada al mantenimiento automatizado del sistema, por lo que no debería cambiar los métodos de autenticación configurados para esa cuenta. Si lo hace, podría hacer que una actualización de paquete dañe el sistema de base de datos al eliminar el acceso a la cuenta administrativa. Más adelante, veremos cómo configurar opcionalmente una cuenta administrativa adicional para el acceso con contraseña si la autenticación por socket no es adecuada para su caso de uso.

    Desde allí, puede presionar Yy luego ENTERaceptar los valores predeterminados para todas las preguntas posteriores. Esto eliminará algunos usuarios anónimos y la base de datos de prueba, deshabilitará los inicios de sesión remotos como root y cargará estas nuevas reglas para que MariaDB respete de inmediato los cambios que realizó.

    Paso 3 (opcional): Ajuste de la autenticación y los privilegios del usuario

    En los sistemas Debian que ejecutan MariaDB 10.3, el usuario root de MariaDB está configurado para autenticarse mediante el unix_socketcomplemento de forma predeterminada en lugar de con una contraseña. Esto permite una mayor seguridad y facilidad de uso en muchos casos, pero también puede complicar las cosas cuando se necesita otorgar derechos administrativos a un programa externo (por ejemplo, phpMyAdmin).

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

    Para demostrar este proceso, crearemos una nueva cuenta admincon las mismas capacidades que la cuenta raíz , pero configurada para la autenticación mediante contraseña. Para ello, abra el indicador de MariaDB desde su terminal:

    1. sudo mysql

    Ahora, crea un nuevo usuario con privilegios de root y acceso con contraseña. Cambia el nombre de usuario y la contraseña para que coincidan con tus preferencias:

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

    Elimine los privilegios para garantizar que se guarden y estén disponibles en la sesión actual:

    1. FLUSH PRIVILEGES;

    A continuación, salga del shell de MariaDB:

    1. exit
    OutputBye

    A continuación, probemos la instalación de MariaDB.

    Paso 4: Prueba de MariaDB

    Al instalarse desde los repositorios predeterminados, MariaDB debería comenzar a ejecutarse automáticamente. Para probarlo, verifique su estado:

    1. sudo systemctl status mariadb

    Recibirá un resultado similar al siguiente:

    Output● mariadb.service - MariaDB 10.3.31 database server   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset:   Active: active (running) since Mon 2022-03-14 18:33:32 UTC; 2min 2s ago     Docs: man:mysqld(8)           https://mariadb.com/kb/en/library/systemd/ Main PID: 3229 (mysqld)   Status: "Taking your SQL requests now..."    Tasks: 31 (limit: 4915)   Memory: 74.4M   CGroup: /system.slice/mariadb.service           └─3229 /usr/sbin/mysqldMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: performance_schemaMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Phase 6/7: Checking and uMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Running 'mysqlcheck' withMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: # Connecting to localhostMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: # Disconnecting from locaMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Processing databasesMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: information_schemaMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: performance_schemaMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Phase 7/7: Running 'FLUSHMar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: OK

    Si MariaDB no se está ejecutando, puedes iniciarlo con el comando sudo systemctl start mariadb.

    Para una comprobación adicional, puedes intentar conectarte a la base de datos mediante la mysqladminherramienta, que es un cliente que te permite ejecutar comandos administrativos. Por ejemplo, este comando indica que te conectes a MariaDB como root y que devuelvas la versión mediante el socket Unix:

    1. sudo mysqladmin version

    El resultado debería ser similar al siguiente:

    Outputmysqladmin  Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Server version          10.3.31-MariaDB-0+deb10u1Protocol version        10Connection              Localhost via UNIX socketUNIX socket             /var/run/mysqld/mysqld.sockUptime:                 3 min 6 secThreads: 6  Questions: 473  Slow queries: 0  Opens: 175  Flush tables: 1  Open tables: 31  Queries per second avg: 2.543

    Si configuró un usuario administrativo independiente con autenticación de contraseña, puede realizar la misma operación ejecutando el siguiente comando:

    1. mysqladmin -u admin -p version
    OutputVer 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Server version          10.3.31-MariaDB-0+deb10u1Protocol version        10Connection              Localhost via UNIX socketUNIX socket             /var/run/mysqld/mysqld.sockUptime:                 7 min 11 secThreads: 6  Questions: 474  Slow queries: 0  Opens: 175  Flush tables: 1  Open tables: 31  Queries per second avg: 1.099

    Esta salida significa que MariaDB está en funcionamiento y que su usuario puede autenticarse correctamente.

    Conclusión

    En esta guía, instaló MariaDB para que funcione como servidor SQL. Durante el proceso de instalación, también protegió el servidor. Opcionalmente, también creó un usuario independiente para garantizar el acceso administrativo a MariaDB en todas las actualizaciones de paquetes.

    Ahora que tiene un servidor MariaDB seguro y en funcionamiento, aquí hay algunos ejemplos de los próximos pasos que puede seguir para trabajar con el servidor:

    • Importar y exportar bases de datos

    También puedes incorporar MariaDB en una pila de aplicaciones más grande:

    • Cómo instalar Linux, Nginx, MariaDB, PHP (pila LEMP) en Debian 10
    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion