MySQL es un sistema gestor de bases de datos relacional muy usado en aplicaciones web, servidores y proyectos de desarrollo.
En Raspberry Pi nos permite montar una base de datos local para aprender SQL, probar aplicaciones o guardar datos de nuestros proyectos.
MySQL está desarrollado por Oracle y tiene edición comunitaria y ediciones comerciales. En distribuciones basadas en Debian es frecuente encontrarnos también con MariaDB, un fork compatible que suele ser la opción disponible en repositorios.
En Raspberry Pi OS y otras distribuciones basadas en Debian, MariaDB suele ser la opción más habitual desde repositorios. Es compatible con MySQL para la mayoría de usos y, para proyectos en Raspberry Pi, normalmente es la alternativa que vais a encontrar primero.
Disponer de una base de datos es imprescindible en muchos proyectos de desarrollo. MySQL/MariaDB es una de las opciones más empleadas en proyectos caseros y maker, por popularidad, documentación y facilidad de instalación.
Instalar MySQL
Instalar MySQL/MariaDB en Raspberry Pi es muy sencillo. En primer lugar, nos aseguramos de que tenemos el listado de paquetes actualizado.
sudo apt update
A continuación, ejecutamos la instalación con el siguiente comando,
sudo apt install mysql-server
Así de sencillo, hemos instalado el servidor de base de datos. La instalación puede variar ligeramente según la versión de Raspberry Pi OS y si el paquete resuelve a MySQL o MariaDB, pero la idea general es la misma.
Esto lo resolvemos terminando la instalación con el siguiente script que viene incluido en la instalación.
sudo mysql_secure_installation
Que nos realizará una serie de preguntas como el nombre de usuario y contraseña.
Para verificar que todo funciona correctamente ejecutamos el comando
systemctl status mysql.service
Probando MySQL
Vamos a ver un mini tutorial de algunos de los comandos que podemos usar desde el CLI de MySQL. Aunque lo normal es que usemos alguno de los muchos clientes SQL disponibles para realizar estas acciones.
Para acceder al CLI de MySQL usamos el siguiente comando.
sudo mysql -u root -p -h localhost
Crear un nuevo usuario
Una de las primeras acciones que deberíamos realizar en una base de datos es crear y gestionar correctamente los permisos de los usuarios. Para crear un nuevo usuario ejecutamos el siguiente comando.
CREATE USER 'my_user'@'localhost' IDENTIFIED BY 'my_password';
Sustituyendo ‘my_user’ por el nombre de usuario que queramos y ‘my_password’ por la contraseña.
Crear una nueva base de datos
Para crear una nueva base de datos empleamos el comando, sustituyendo ‘my_db’ por el nombre de la base de datos que queráis.
CREATE DATABASE my_db;
A continuación, otorgamos permiso al usuario que hemos creado anteriormente ejecutando,
GRANT ALL PRIVILEGES ON my_db.* TO 'my_user'@'localhost';
FLUSH PRIVILEGES;
Finalmente, reiniciamos MySQL para aplicar los cambios.
sudo service mysql restart
Crear una tabla
La siguiente tarea habitual es crear una o varias tablas. Vamos a crear una tabla de ejemplo con campos de distintos tipos para ilustrarlo. Para ello ejecutamos la siguiente Query, siendo ‘my_table’ el nombre de nuestra tabla.
CREATE TABLE my_table
(entero INT,
numero DOUBLE,
fecha DATETIME,
texto NVARCHAR(32));
Así de fácil es instalar y usar MySQL/MariaDB en Raspberry Pi. A partir de aquí ya podemos usarlo desde nuestras aplicaciones, o conectarnos con un cliente gráfico para administrar las bases de datos con más comodidad.

