En esta ocasión hablaremos sobre el proceso de instalación y configuración de MariaDB.
Las distribuciones Linux en su mayoría han adoptado a MariaDB como remplazo a MySQL. Esta migración ha sido posible sin grandes dolores de cabeza ya que MariaDB es un fork directo de MySQL, pero que a diferencia de este último se distribuye bajo la licencia GPL. Por ende MariaDB cuenta con una alta compatibilidad con MySQL, posee las mismas órdenes, interfaces, APIs y bibliotecas, siendo su objetivo poder intercambiar un servidor por el otro de manera directa.
La primera versión de MariaDB fue lanzada en el año 2009 por su creador Michael Widenius (también creador de MySQL). Actualmente es mantenida por Widenius junto a los principios y amparo de La Fundación MariaDB (The MariaDB Foundation), la ayuda de los Sponsors y por toda una comunidad de desarrolladores, todos muy entusiastas, que se encuentran constantemente corrigiendo bugs y proponiendo mejoras.
Luego de esta introducción histórica. A continuación se detallan los pasos para instalar el servidor de bases de datos MariaDB en Ubuntu Server:
Nota: Se asume que el lector conoce sobre sudo y su uso. Por cuestiones de comodidad todos los comandos en este artículo se ejecutan sin este prefijo. Lo hago cambiándome al usuario root mediante el comando:
sudo su
Si no sabes de que te hablo y te preguntas: ¿Qué cosa es sudo? ¿Cuál es el usuario root?
Necesitas aprender Linux en primera instancia. De lo contrario durante este tutoría se te presentarán muchas dudas.
Instalar MariaDB
Luego de abrir la terminal y conectarnos a nuestro VPS (Virtual Private Server), ejecutamos:
apt install mariadb-server
luego de ejecutar este comando se nos mostrará una lista con todas las dependencias necesarias para que MariaDB pueda funcionar correctamente.
Finalizada la instalación el script de post-instalación establecerá el servicio por defecto durante la carga del sistema y lo iniciará en ese instante.
Tal y como pueden constatar en la imagen anterior el puerto 3306 ya está abierto y en espera de peticiones.
Asegurando la instalación
En este punto MariaDB ya está instalado. Pero no podríamos comenzar a trabajar sin antes establecer las políticas de seguridad mínimas en nuestra base de datos.
MariaDB al momento de ser instalada establece una configuración base y un usuario administrador nombrado «root«, sin password asociado. Este estado inicial no es para nada el deseado, por este motivo nos valemos de un comando que nos ayudará a corregir todo esto de una forma interactiva, su nombre es «mysql_secure_installation«, el cual ejecutamos sin parámetros bajo el usuario root del sistema o valiéndonos del comando «sudo«:
mysql_secure_installation
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, 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):
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] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
En este ejemplo establecemos una contraseña para el usuario root, eliminamos todos los usuarios anónimos, se deshabilita el acceso remoto al servidor, también se elimina la base de datos «test«, por último se recargan las tablas de privilegios asegurando que todo los cambios tomen efecto. Hecho todo esto por parte de MariaDB ya está todo asegurado.
Veamos ahora como podemos verificar que la instalación y la configuración de seguridad que hemos aplicado funciona de manera correcta:
mysql -u root -p
En la salidas en pantalla podemos verificar las diferentes versiones y las bases de datos que se encuentran creadas por defecto, en otras palabras: todo ha salido como lo hemos planificado. A partir de aquí ya podemos comenzar a interactuar con MariaDB e integrar nuestro proyecto backend o WordPress con esta base de datos local.
Espero que todo cuanto se ha dicho aquí, de una forma u otra le haya servido de aprendizaje, de referencia, que haya valido su preciado tiempo.
Este artículo, al igual que el resto, será revisado con cierta frecuencia en pos de mantener un contenido de calidad y actualizado.
Cualquier sugerencia, ya sea errores a corregir, información o ejemplos a añadir será, más que bienvenida, necesaria!