Cómo desplegar MariaDB en un Servidor Cloud

Hace ya un tiempo que vimos Cuándo, para qué y por qué utilizar MariaDB, ahora sin embargo abordaremos el tema desde un punto de vista más práctico. Es realmente sencilla la instalación del software de MySQL/MariaDB en un Servidor Cloud con sistema operativo Linux, pero también deberemos realizar algunos pasos adicionales y configuraciones para desplegar la base de datos y restaurar la copia de seguridad. En este tutorial, veremos cómo realizar este proceso sobre una máquina creada con Cloudbuilder Next de Arsys, para que nos sirva de servidor para nuestras bases de datos.

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.

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.

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.

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] http://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.

Un paso extra adicional recomendado es ejecutar el comando mysql_secure_installation, que nos asegura que hayamos instalado correctamente una contraseña para el usuario root y tengamos otras dependencias y configuraciones destinadas a incrementar la seguridad del servidor.

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.

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:

Hasta aquí hemos podido realizar todos los pasos para la instalación de MySQL y el despliegue de una base de datos en el servidor. En adelante nos quedaría una tarea extra, que puede que sea necesaria en algunos casos, dependiendo de las necesidades de cada proyecto: se trataría básicamente de conectar remotamente con el servidor de base de datos, para lo que tendremos que realizar algunas configuraciones adicionales en el servidor. Eso lo explicaremos en próximos tutoriales.