MariaDB es un sistema de administración relacional de bases de datos de código abierto, que comúnmente se usa como alternativa para la parte de MySQL de la popular pila LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Se diseñó como un reemplazo a medida de MySQL.
La versión corta de esta guía de instalación consta de estos tres pasos:
apt
mariadb-server
usando apt
. El paquete también incluye herramientas relacionadas para interactuar con MariaDB.mysql_secure_installation
incluida para restringir el acceso al servidor- sudo apt update
- sudo apt install mariadb-server
- sudo mysql_secure_installation
Este tutorial, se explicará la forma de instalar MariaDB en un servidor de Ubuntu 20.04 y verificar que funcione y cuente con una configuración inicial segura.
Para seguir este tutorial, necesitará un servidor con Ubuntu 20.04. Este servidor debería tener un usuario administrativo y un firewall configurado con ufw. Puede establecerlos siguiendo nuestra Guía inicial de configuración del servidor para Ubuntu 20.04.
En el momento de escribir este tutorial, los repositorios APT predeterminados de Ubuntu 20.04 incluyen la versión de MariaDB 10.3.
Para instalarla, actualice el índice de paquetes en su servidor con apt
:
- sudo apt update
A continuación, instale el paquete:
- sudo apt install mariadb-server
Estos comandos instalarán MariaDB, pero no le solicitará establecer una contraseña ni realizar otros cambios de configuración. Debido a que la configuración predeterminada hace que la instalación de MariaDB no sea segura, usaremos una secuencia de comandos que el paquete de mariadb-server
proporciona para restringir el acceso al servidor y eliminar cuentas no utilizadas.
En las nuevas instalaciones de MariaDB, el siguiente paso es ejecutar la secuencia de comandos de seguridad incluida. Esta secuencia de comandos cambia algunas de las opciones predeterminadas menos seguras para cosas como inicios de sesión root remotos y usuarios de ejemplo.
Ejecute la secuencia de comandos de seguridad:
- sudo mysql_secure_installation
Con esto, verá una serie de solicitudes mediante las cuales podrá realizar cambios en las opciones de seguridad de su instalación de MariaDB. En la primera solicitud se pedirá que introduzca la contraseña root de la base de datos actual. Debido a que no configuramos una aún, pulse ENTER
para indicar “none” (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, we'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):
En la siguiente solicitud se pregunta si desea configurar una contraseña root de base de datos. En Ubuntu, la cuenta root para MariaDB está estrechamente vinculada al mantenimiento del sistema automatizado. Por lo tanto, no deberíamos cambiar los métodos de autenticación configurados para esa cuenta. Hacer esto permitiría que una actualización de paquetes dañara el sistema de bases de datos eliminando el acceso a la cuenta administrativa. Escriba N
y pulse 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 tarde, se explicará la manera configurar una cuenta administrativa adicional para el acceso con contraseña si la autenticación del socket no es apropiada para su caso de uso.
Desde allí, puede pulsar Y
y luego ENTER
para aceptar los valores predeterminados para todas las preguntas siguientes. Con esto, se eliminarán algunos usuarios anónimos y la base de datos de prueba, se deshabilitarán las credenciales de inicio de sesión remoto de root y se cargarán estas nuevas reglas para que MariaDB aplique de inmediato los cambios que realizó.
Con eso, ha terminado de realizar la configuración de seguridad inicial de MariaDB. El siguiente paso es opcional, aunque debería seguirlo si prefiere autenticar a su servidor de MariaDB con una contraseña.
En los sistemas Ubuntu con MariaDB 10.03, el root user de MariaDB se configura para autenticar usando el complemento unix_socket
por defecto en vez de con una contraseña. Esto proporciona una mayor seguridad y utilidad en muchos casos, pero también puede generar complicaciones cuando necesita otorgar derechos administrativos a un programa externo (por ejemplo, phpMyAdmin).
Debido a que el servidor utiliza la cuenta root para tareas como la rotación de registros y el inicio y la deteneción del servidor, es mejor no cambiar los detalles de autenticación root de la cuenta. La modificación de las credenciales del archivo de configuración en /etc/mysql/debian.cnf
puede funcionar al principio, pero las actualizaciones de paquetes pueden sobrescribir esos cambios. En vez de modificar la cuenta root, los mantenedores de paquetes recomiendan crear una cuenta administrativa independiente para el acceso basado en contraseña.
Para hacerlo, crearemos una nueva cuenta llamada admin con las mismas capacidades que la cuenta root, pero configurada para la autenticación por contraseña. Abra la línea de comandos de MariaDB desde su terminal:
- sudo mariadb
A continuación, cree un nuevo usuario con privilegios root y acceso basado en contraseña. Asegúrese de cambiar el nombre de usuario y la contraseña para que se adapten a sus preferencias:
- GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Vacíe los privilegios para garantizar que se guarden y estén disponibles en la sesión actual:
- FLUSH PRIVILEGES;
Después de esto, cierre el shell de MariaDB:
- exit
Por último, probaremos la instalación de MariaDB.
Cuando se instale desde los repositorios predeterminados, MariaDB se ejecutará automáticamente. Para probar esto, compruebe su estado.
- sudo systemctl status mariadb
Recibirá un resultado que es similar al siguiente:
Output● mariadb.service - MariaDB 10.3.22 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 25914 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 31 (limit: 2345)
Memory: 65.6M
CGroup: /system.slice/mariadb.service
└─25914 /usr/sbin/mysqld
. . .
Si MariaDB no funciona, puede iniciarla con el comando sudo systemctl start mariadb
.
Como comprobación adicional, puede intentar establecer conexión con la base de datos usando la herramienta mysqladmin
, que es un cliente que le permite ejecutar comandos administrativos. Por ejemplo, este comando indica conectar con MariaDB como root usando el socket Unix y devolver la versión:
- sudo mysqladmin version
Recibirá un resultado similar a este:
Outputmysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.3.22-MariaDB-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 4 min 49 sec
Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615
Si configuró un usuario administrativo independiente con la autenticación de contraseña, puede realizar la misma operación escribiendo lo siguiente:
- mysqladmin -u admin -p version
Esto significa que MariaDB está activo y que su usuario puede autenticarse correctamente.
En esta guía, ha instalado el sistema de gestión relacional de bases de datos MariaDB, y lo ha protegido usando la secuencia de comandos mysql_secure_installation
que venía instalada. También tuvo la opción de crear un nuevo usuario administrativo que usa la autenticación por contraseña antes de probar la funcionalidad del servidor de MariaDB.
Ahora que dispone de un servidor de MariaDB activo y protegido, aquí se muestran algunos ejemplos de los siguientes pasos que puede completar para trabajar con el servidor:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!