Cuándo, para qué y por qué utilizar MariaDB

8min

Aunque ya habíamos hablado brevemente de MariaDB en posts como Las mejores alternativas a MySQL, ahora queremos dedicarle un artículo en exclusiva a este motor de base de datos. En esta ocasión, repasamos los orígenes de MariaDB y, por supuesto, explicamos también cuándo, para qué y por qué utilizar este software Open Source. MariaDB es un software Open Source cuyas características muchas veces se desconocen y que todo equipo de desarrollo debería tener presente, puesto que mejora en muchas ocasiones el rendimiento que tendríamos con otras alternativas más conocidas y utilizadas tradicionalmente. [banneroferta product=2]

Índice

¿Por qué surge MaríaDB?

Sin duda, MySQL es uno de los motores de bases de datos más conocidos y usados a nivel mundial, compatible con decenas de lenguajes y frameworks. Sin embargo, debido a al ir y venir de compras de empresas, ha surgido un problema en los últimos años con este software, y muy relevante para los desarrolladores. Básicamente, al caer en manos de Oracle, MySQL ya no es completamente Open Source, sino que se acerca al  software comercial, aunque existe una versión Community Edition que sí se puede usar de manera gratuita. Ante esta situación, se creó MariaDB, que es básicamente una variante (o fork) de MySQL que mantiene toda la filosofía del software libre y nos asegura dos objetivos muy importantes: mantener la compatibilidad con MySQL, de modo que MariaDB pueda usarse como reemplazo de MySQL sin necesidad de ninguna costosa migración,  y que la Comunidad pueda continuar trabajando en el sistema gestor de base de datos, sin verse condicionados por las estrategias comerciales.

¿Cuando usar MariaDB?

MariaDB se puede usar en cualquier lugar donde antes se usaba MySQL. Como se trata de un sistema compatible, todo software que antes usase MySQL es capaz de seguir funcionando igualmente con MariaDB. Por tanto, se puede usar MariaDB en cualquier proyecto de nueva creación, así como intercambiar MySQL por MariaDB en prácticamente todos los proyectos que puedan estar ya en producción. El paso es inmediato y no requiere cambiar nada en el código, simplemente instalar MariaDB y volver a crear las bases de datos y tablas en el nuevo sistema.

¿Por qué usar MariaDB?

MariaDB ha seguido el desarrollo del sistema gestor MySQL, implementando diversas mejoras y nuevas funcionalidades. Las mejoras muchas veces afectan directamente al rendimiento o permiten optimizar mejor las bases de datos, por lo que usar MariaDB siempre será una opción interesante. Además, nos garantizamos que vamos a disfrutar de un software con mayor crecimiento y progresión que el propio MySQL.

Entre las novedades que ya han sido implementadas en MariaDB, podemos destacar:

  • Nuevos motores de almacenamiento como Aria, que permite sustituir a MyISAM con algunas mejoras, y XtraDB, que viene a evolucionar InnoDB.
  • Nuevas características disponibles, relacionadas directamente con las características disponibles en bases de datos NoSQL.
  • Nueva gestión de conexiones con la base de datos, que permite multiplicar el número de accesos de manera concurrente.
  • Nuevos motores de funcionamiento en cluster, como Galera, que nos permiten interesantes posibilidades de cara a la adopción Cloud.

Además, al tratarse de una comunidad muy dinámica y abierta a los desarrolladores, MariaDB garantiza la aparición más rápida de parches, que puedan solucionar eventuales problemas de seguridad.

MariaDB se puede usar desde la mayoría de sistemas de administración existentes para MySQL, como PhpMyAdmin o HeidiSQL, y es compatible con aplicaciones tan populares como WordPress, Drupal, etc. La compatibilidad es tal que muchas veces el uso de MariaDB en lugar de MySQL es transparente para desarrolladores o administradores de sistemas. Prueba de ello es que, para arrancar los servicios de MariaDB, o para hacer login en el sistema gestor por medio de línea de comandos, se usan los mismos mecanismos ya conocidos en MySQL.

En la siguiente imagen puedes ver cómo se accede al sistema con el comando de mysql, aunque internamente la base de datos instalada es MariaDB.

Por qué usar mariadb

Como desplegar MariaDB en un Servidor Cloud

Creación del Servidor Cloud

El primer paso será crear el Servidor Cloud desde el panel de control de Cloudbuilder Next. Este procedimiento es absolutamente sencillo, ya que sólo tenemos que elegir el nombre del servidor y sus recursos, junto con la imagen de sistema operativo deseada. En nuestro caso usaremos una imagen de Arsys de Ubuntu 18.04 LTS.

Resultará importante saber que el servidor se inicia sin una política de firewall definida, por lo que no permitirá realizar el acceso por el SSH recién creado. El propio panel nos advertirá de esta situación.

creación del servidor cloud

Crear una política de Firewall

Las políticas de firewall se crean desde Cloudbuilder Next, mediante el enlace Red > Políticas de firewall, en el menú de la izquierda. Una vez dentro, podemos crear políticas con el botón Crear situado en la parte de arriba de la página. Si tienes dudas  sobre estos pasos, te recomendamos acudir a la sección Cloud y Servidores de nuestro Centro de Soporte.

Como hemos dicho, es fundamental abrir el puerto 22, habitual en las conexiones SSH. Pero, ya de paso, si necesitamos conectar más adelante con la base de datos de manera remota, podemos abrir también el puerto 3306 que es el predeterminado en MySQL/MariaDB. Aunque hay que aclarar que la apertura de este puerto no será suficiente para acceder remotamente a las bases de datos desde cualquier otro servidor u ordenador personal.

Podemos configurar la política de firewall tal como se puede ver en la próxima imagen. Para ello, podemos rellenar los formularios a mano, o simplemente seleccionar el protocolo o servicio en la lista que se despliega al pulsar el botón Insertar valores estándar. crear una política de firewall

Ten en cuenta que hemos abierto los puertos para el acceso desde cualquier IP. Si conoces de antemano las IP de los ordenadores o servidores que van a conectarse a los servicios, es conveniente usarlas, para garantizar que no se concede acceso desde otras máquinas.

Nos queda asignar esta política de firewall al servidor recién creado. Lo podemos hacer desde la misma página donde nos encontramos. Seleccionamos la política que acabamos de crear en el listado y pulsamos el botón Asignar. Luego marcamos el checkbox del servidor al que queremos aplicar la política y pulsamos Guardar cambios. mysql server

Instalación de MariaDB

Ahora podemos hacer SSH para conectarnos con el nuevo servidor, usando la IP de la máquina y el usuario predeterminado root. Si estamos en Windows es común usar un software como Putty. Desde Linux o Mac hacemos directamente el procedimiento en el terminal de línea de comandos y escribimos:

ssh root@0.0.0.0

¡No te olvides de que sustituir la IP 0.0.0.0 por la de tu propio servidor!

Antes de instalar nada, en un servidor recién instalado, es conveniente lanzar un par de comandos:

apt-get update
apt-get upgrade

El primero recibe las nuevas listas de paquetes de los repositorios de la distribución y el segundo, instala cualquier actualización que haya pendiente. Ahora tenemos que hacer unos pasos para obtener los repositorios oficiales, como indican en la página de MariaDB.

Los comandos actuales son los siguientes (aunque te recomendamos acceder al enlace anterior y preparar los tuyos propios, porque pueden cambiar por la distribución, versiones o mirror de descarga):

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://tedeco.fi.upm.es/mirror/mariadb/repo/10.3/ubuntu bionic main'

Luego podemos instalar MariaDB con el siguiente comando.

sudo apt update
sudo apt install mariadb-server

Durante la instalación se solicita la clave de root para la base de datos, que tendremos que indicar, asegurándonos que sea lo suficientemente fuerte. sustituir ip

Desplegar una base de datos en remoto

Como último paso vamos a desplegar una base de datos en nuestro nuevo servidor. Se supone que la tenemos en un archivo de backup con las sentencias SQL para restaurarla.

El primer paso consiste en crear una base de datos. Para ello, nos tenemos que conectar a MySQL, con el siguiente comando:

mysql -u root -p

Indicamos entonces la clave de root recién creada al instalar MariaDB.

desplegar una base de datos en remoto

Creamos la base de datos con el comando siguiente:

create database prueba;

Por supuesto, sustituiremos prueba por el nombre de la base de datos que estemos creando.

En cualquier momento podemos salir del intérprete de MariaDB con el comando exit.

Restaurar el backup de nuestra base de datos

Una vez hayamos subido el archivo del backup al servidor, usando SCP o WinSCP o cualquier método que prefiramos, podemos restaurarlo con un sencillo comando.

mysql -u root -p prueba < backup_bbdd.sql

Aquí, como es lógico, también tendremos que modificar prueba por el nombre de la base de datos que hayamos creado y por supuesto, backup_bbdd.sql por el nombre del archivo con el respaldo de la base de datos que hayamos subido al servidor.

Realizado este paso podemos comprobar que la base de datos está creada y con las correspondientes tablas, entrando en el intérprete de MySQL con mysql -u root -p, accediendo a la base de datos en cuestión (use prueba; o la base de datos que hayamos creado) y ejecutando el comando show tables;. Este procedimiento y los comandos se pueden ver en la siguiente imagen:

restaurar el backup de nuestra base de datos

Fernán García de Zúñiga

Productos relacionados: