¿Cómo instalar MariaDB en tu Raspberry Pi?

¿Qué es MariaDB?

Antes de ir a la instalación, hablemos un poco más sobre MariaDB, lo que es y para qué sirve.

Lo más seguro es que conozcas MySQL, que es probablemente el DBMS más utilizado (al menos 56% de cuota de mercado en tecnologías libres). Pero MySQL no es el único en el mundo de los DBMS libres y entre todos sus competidores, el más serio es sin duda MariaDB, ya sea por sus cuotas de mercado (18%), por sus funcionalidades, muy similares a las de MySQL , o por su perfecta compatibilidad con MySQL. No es sorprendente, ya que el creador de MariaDB (Michael Widenius) es también el creador de MySQL.

¿Por qué Michael Widenius creó MariaDB en lugar de seguir mejorando MySQL?

Para encontrar la respuesta a esta pregunta, hay que dar un pequeño salto atrás en la historia de MySQL.

En 1995 Michael Widenius fundó MySQL AB, una compañía de software de código abierto, y pronto se convirtió en un actor importante en la industria de las bases de datos.

En 2008, MySQL fue comprada por mil millones de dólares por Sun Microsystems, otro importante jugador en el campo del software de código abierto.

En 2009, Sun Microsystems fue adquirida por Oracle, y MySQL con ella.

Es en este momento que todo cambiará. Existía una preocupación real sobre la voluntad de Oracle de mantener y hacer evolucionar MySQL de forma gratuita y de código abierto, y Oracle ya ofrecía una solución patentada de pago para grandes empresas, la conocida base de datos Oracle.

En 2009, Michael Widenius deja Sun, recupera el código fuente de MySQL (software libre) y lanza una petición para presionar a Oracle para que continúe desarrollando MySQL.

Con el fin de garantizar que el código de MySQL siga siendo libre, y que no desaparezca, Michael Widenius creará entonces un nuevo SGBD, bifurcación de MySQL (una bifurcación es un software creado a partir del código fuente de otro).

El nombrará este DBMS con el nombre de su segunda hija, María, como lo hizo con MySQL y su primera hija, My. Luego se creará una fundación, la Fundación MariaDB, para asegurar el gobierno del proyecto. Desde entonces, MariaDB se desarrolla más y más cada día, continuando para asegurar la compatibilidad con MySQL y mejorarla.

¿Qué es una base de datos?

El nombre casi lo dice todo. Pero si estás empezando en MySQL, imagina una base de datos como un archivo donde almacenar cualquier dato que necesites guardar. Por ejemplo, este sitio web utiliza una base de datos para almacenar el contenido de los mensajes, los comentarios o la configuración del sitio web. A menudo se explica una base de datos como una carpeta en tu ordenador, con muchos archivos de Excel en ella. La carpeta es la base de datos, cada archivo de Excel es una tabla, y contienen una columna para cada dato a almacenar

¿Por qué usar MariaDB en la Raspberry Pi? Diferencias con MySQL

Eventualmente, MySQL siempre está en desarrollo, y sigue siendo libre, así que ¿por qué instalar MariaDB en lugar de MySQL en la Raspberry Pi?

En primer lugar, porque MySQL es distribuido por Oracle, y Oracle no está muy bien visto en el mundo del software libre, prefiriendo a menudo una lógica propietaria. Luego, porque MySQL puede no permanecer de código abierto por mucho tiempo, ya tiene doble licencia, libre y propietaria. También, porque MariaDB es 100% compatible con MySQL, y por lo tanto no hay razón para no hacerlo. Finalmente, y esto es probablemente lo que más te interesará, por cuestiones de rendimiento.

Si MariaDB se usa cada vez más, no es sólo porque es más código abierto que MySQL, sino principalmente porque es más eficiente.

De hecho, beneficiándose de una gran comunidad de desarrolladores, y de la experiencia de su creador, MariaDB presenta rendimientos superiores a los de MySQL, siendo a la vez perfectamente compatible con éste. Esto significa que para mejorar tu sitio, simplemente instala MariaDB en lugar de MySQL, ¡y ni siquiera tendrá que cambiar el código de tu sitio web o aplicaciones!

MariaDB tiene una verdadera mejora de rendimiento en comparación con MySQL, especialmente en consultas complejas. Esto se debe en parte al uso del motor Aria en lugar del motor InnoDB y a los esfuerzos de optimización en el corazón del proyecto MariaDB (puedes encontrar comparaciones entre MariaDB y MySQL en este punto en esta dirección).

Para darte una idea de esta diferencia, aquí hay un rápido benchmark comparando MariaDB y MySQL.

El benchmark de MariaDB contra MySQL muestra al ganador de MariaDB

benchmark de MariaDB contra MySQL

Comparación de rendimiento para MySQL y MariaDB. En azul, MySQL 5.5.21 En verde, MySQL 5.6.4 En rojo, MariaDB 5.3.6 Fuente: http://blog.mariadb.org

Y a diferencia de Nginx y Apache, no hay una contrapartida real a las ventajas de MariaDB sobre MySQL. No tendrás nada más que hacer que deshabilitar MySQL e instalar MariaDB.

Por lo tanto, MariaDB es una elección perfecta para una Raspberry Pi que usa Raspbian, ya que los recursos de RAM son limitados, con sólo 1 GB para la Raspberry Pi 3 (por cierto, si aún no lo tienes, puedes encontrarlo aquí en Amazon) y sólo 512MB para la Raspberry Pi Zero (que puedes encontrar aquí).

Melopero Raspberry Pi 3 Model B, CPU Quad Core 1,2GHz Broadcom...
  • Dimensión de la pantalla 60 pulgadas
  • Tipo de procesador Core 2 Quad
  • Coprocesador gráfico Dual Core VideoCore IV
Raspberry Pi Zero W. Kit de inicio
  • Raspberry Pi Zero W.
  • Caja oficial con tres tapas y conector flexible para cámara.
  • Header 2 x 20.

¿Cómo instalar MariaDB en Raspbian?

Ahora que tienes más información sobre lo que es MariaDB, puedes intentar instalarlo leyendo las siguientes instrucciones

Instalación del servidor

Como se apuntó en la introducción, MariaDB está disponible en el repositorio Raspbian, así que la instalación es sencilla:

Como siempre, comienza por actualizar tu sistema:

sudo apt update
sudo apt upgrade

Entonces puedes instalar MariaDB con este comando:

sudo apt install mariadb-server

instalación mariadb en raspbian

Escribe «Y» y Enter para continuar. Después de unos segundos, el proceso de instalación está completo y MariaDB está casi listo para usar. Si te has dado cuenta, la instalación de MariaDB también ha instalado el cliente de MariaDB. Esto te permitirá conectarse desde la línea de mando con:

mysql

Pero por defecto, no hay ninguna cuenta disponible para conectarse. Por eso necesitamos crear primero un acceso a la raíz.

Acceso root

Aquí está cómo definir la contraseña para el usuario root y empezar a usar MariaDB:

Introduce este comando:

sudo mysql_secure_installation

Aparece un mensaje como este:

aviso mariadb

Presiona enter para continuar (sin contraseña por defecto)
Luego escribe «Y» para establecer una nueva contraseña, e introduca la contraseña que desees.
Ahora, presiona «Y» tres veces para..:

  • Eliminar los usuarios anónimos
  • No permitir el acceso a la raíz de forma remota
  • Eliminar la base de datos de pruebas

Y finalmente, presiona «Y» de nuevo para recargar los privilegios

Eso es todo, esta vez MariaDB está listo para usar con el inicio de sesión de root

Conectar con root

Ahora puedes usar

mysql

para tu primera conexión:

mysql -uroot -p

Entonces introduce la contraseña que has definido previamente. Y eso es todo, ya estás conectado al servidor de MySQL. Una vez conectado, puedes usar todas las consultas de MySQL como estas:

  • SHOW DATABASES;
  • USE <database>;
  • SHOW TABLES;
  • SELECT * FROM <table>;
  • UPDATE, INSERT, DELETE, …

Puedes comprobar la sintaxis y toda la información de la documentación oficial en este enlace.

Cómo Crear un nuevo usuario de MariaDB

Al igual que en tu sistema, no se recomienda usar el usuario raíz para ninguna aplicación. Guárdalo para ti, para la administración y la depuración en un uso local. Pero para cualquier otra aplicación,  probablemente deberás crear nuevos usuarios, con acceso a una sola base de datos específica.

Crear un nuevo usuario en MariaDB

Así es como se hace:

Conéctate a la línea de comandos de MySQL:

sudo mysql -uroot -p

Crear una nueva base de datos:

CREATE DATABASE <dbname>;

En este paso y el siguiente, reemplaza todas las variables entre <…> por el nombre que quieras usar. Ahora, crea el nuevo usuario:

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

Luego, permite a este nuevo usuario hacer cualquier cosa en la base de datos que acabamos de crear:

GRANT ALL PRIVILEGES ON <dbname>.* TO '<username>'@'localhost';

Finalmente, recargar los permisos con:

FLUSH PRIVILEGES;

Prueba la conexión

Ahora puedes comprobar que todo funciona bien:

sudo mysql -u<nombre de usuario> -p

Y usa la contraseña que acabas de crear.

Eso es todo, ahora puedes hacer todo lo que quieras en la nueva base de datos. Puedes, por ejemplo, usar esto para alojar un sitio web en tu Raspberry Pi, o incluso para alojar aplicaciones como NextCloud o WordPress en local.

Configuración adicional

Puedes hacer la mayor parte de la configuración de MySQL en la línea de comandos, pero no siempre es fácil si no conoces el lenguaje MySQL
Por lo tanto,te mostraremos aquí dos maneras de configurar su servidor

/etc/mysql

Como en muchos servicios, encontrarás un archivo de configuración en la carpeta /etc. Es la primera forma de cambiar la configuración. Aquí están los archivos que encontrarás en /etc/mysql:

├─── conf.d
│ ├─── mysql.cnf
│ └─── mysqldump.cnf
├── debian.cnf
├── debian-start
├── mariadb.cnf
├── mariadb.conf.d
│ ├─── 50-client.cnf
│ ├── 50-mysql-clients.cnf
│ ├── 50-mysqld_safe.cnf
│ └─── 50-server.cnf
├── my.cnf -> /etc/alternatives/my.cnf
└── mi.cnf.fallback

Como usas MariaDB, necesitas editar los archivos en mariadb.conf.d

Para la configuración del servidor, abre el archivo 50-server.cnf así:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

En este archivo se pueden encontrar muchas opciones de configuración. Cada línea utiliza el mismo formato:

option = value

Las líneas que empiezan con un # están comentadas, hay que quitar este símbolo para cambiar el valor
Por ejemplo, se puede cambiar la dirección del buzón para permitir conexiones remotas, o el datadir para mover las bases de datos a otro directorio (en una unidad USB por ejemplo)

Puedes encontrar toda la información sobre este archivo en la página web de MariaDB.

PHPMyAdmin

Incluso si el archivo de configuración es obligatorio para cambiar la configuración, no lo cambiarás todos los días, Pero una cosa que harás más a menudo es crear usuarios, bases de datos y tablas. O simplemente leer los datos de las tablas.

interfaz phpmyadmin

Puedes instalar PhpMyAdmin para evitar usar la consola MySQL para cada operación. PhpMyAdmin es una interfaz web gratuita que puedes instalar en tu Raspberry Pi para hacer todas las operaciones básicas de tu base de datos.

Conclusión

Eso es todo, ahora sabes cómo instalar MariaDB en tu Raspberry Pi, y también cómo configurarlo y administrarlo diariamente.

Como habréis visto, durante este tutorial nos hemos referido a menudo a Nginx, y no es por nada. De hecho, la pareja Nginx / MariaDB es más o menos el equivalente moderno de la pareja Apache / MySQL. Os recomendamos encarecidamente que uséis Nginx con MariaDB para un servidor web cada vez más rápido.

Pin It on Pinterest

Shares