Instalar la última versión de MariaDB en Debian 10

Aprendemos a instalar la última versión del popular motor de base de datos MariaDB en nuestro flamante nuevo servidor con Debian 10. Como la mayoría ya debéis saber, MariaDB es un sistema de base de datos rápido, escalable y robusto. De este hemos hablado largo y tendido en la web, solo debéis tirar del buscador para comprobarlo.

Instalar la última versión de MariaDB en Debian 10

Hay que tener en cuenta que en muchos tutoriales que existen por Internet se utiliza para realizar la instalación los propios repositorios de Debian; en nuestro caso utilizaremos los del proyecto MariaDB, para así garantizarlo la última versión.

Para la instalación podemos utilizar el superusuario «root» o bien otro usuario utilizando «sudo». Si no tenemos sudo instalado ya os explique cómo habilitarlo:

Usuario administrador con sudo en Linux

Para añadir los repositorios oficiales nos iremos a la web del proyecto y seguiremos las instrucciones indicadas.

A fecha de hoy las instrucciones son las siguientes:

  1. sudo apt-get install software-properties-common dirmngr 
  2. sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 
  3. sudo add-apt-repository \ 
  4. 'deb [arch=amd64] http://mirror.rackspace.com/mariadb/repo/10.4/debian buster main'

Una vez añadido el repositorio e importada las llaves, actualizamos e instalamos:

  1. sudo apt update 
  2. sudo apt install mariadb-server

Una vez instalado, siempre es recomendable, como siguiente paso, asegurar el servidor mediante «mysql_secure_installation«, utilizando si hace falta «sudo»

  1. sudo mysql_secure_installation

Primero de todo indicamos una contraseña de seguridad:

  1. NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
  2.       SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
  3.  
  4. In order to log into MariaDB to secure it, we'll need the current
  5. password for the root user.  If you've just installed MariaDB, and
  6. you haven't set the root password yet, the password will be blank,
  7. so you should just press enter here.
  8.  
  9. Enter current password for root (enter for none):
  10. OK, successfully used password, moving on...
  11.  
  12. Setting the root password ensures that nobody can log into the MariaDB
  13. root user without the proper authorisation.
  14.  
  15. Set root password? [Y/n] y
  16. New password:
  17. Re-enter new password:
  18. Password updated successfully!
  19. Reloading privilege tables..
  20.  ... Success!

Deshabilitamos el acceso a usuarios anónimos:

  1. By default, a MariaDB installation has an anonymous user, allowing anyone
  2. to log into MariaDB without having to have a user account created for
  3. them.  This is intended only for testing, and to make the installation
  4. go a bit smoother.  You should remove them before moving into a
  5. production environment.
  6.  
  7. Remove anonymous users? [Y/n] y
  8.  ... Success!

Deshabilitamos el acceso remoto utilizando el usuario ‘root’:

  1. Normally, root should only be allowed to connect from 'localhost'.  This
  2. ensures that someone cannot guess at the root password from the network.
  3.  
  4. Disallow root login remotely? [Y/n] y
  5.  ... Success!

Eliminamos las bases de datos de test:

  1. By default, MariaDB comes with a database named 'test' that anyone can
  2. access.  This is also intended only for testing, and should be removed
  3. before moving into a production environment.
  4.  
  5. Remove test database and access to it? [Y/n] y
  6.  - Dropping test database...
  7.  ... Success!
  8.  - Removing privileges on test database...
  9.  ... Success!

Recargamos la tabla de privilegios de los usuarios y finalizamos:

  1. Reloading the privilege tables will ensure that all changes made so far
  2. will take effect immediately.
  3.  
  4. Reload privilege tables now? [Y/n] y
  5.  ... Success!
  6.  
  7. Cleaning up...
  8.  
  9. All done!  If you've completed all of the above steps, your MariaDB
  10. installation should now be secure.
  11.  
  12. Thanks for using MariaDB!

Actualizamos el complemento de autenticación para permitir la autenticación de contraseña raíz como usuario normal.

$ sudo mysql -u root
UPDATE mysql.user SET plugin = 'contrasea' WHERE User = 'root';
FLUSH PRIVILEGES;
QUIT;

Y esto es todo, aprovecho para recordar las entradas en las que hemos hablado de este motor de base de datos:

Crear una base de datos MySQL en GNU Linux
Tareas básicas con MySQL
Importar y exportar bases de datos en MySQL
Programar copias de seguridad para MySQL y MariaDB
Trabajar con diferentes instancias MySQL
Crear un cluster con MariaDB Galera Cluster
Instalar MariaDB vía Docker
Instalar MariaDB en Centos 7
Configurar MariaDB y MySQL para acceso remoto
Listar bases de datos y usuarios en MySQL y MariaDB
Instalar MariaDB en Ubuntu 18.04