En esta entrada vamos a ver cómo instalar una base de datos MySQL en una distribución basada en Debian como Raspbian en Raspberry Pi.
MySQL es un sistema de gestión de base de datos de código abierto, considerada como la base de datos de código abierto más empleada del mundo
Dispone de licencia GNU GPL, que tiene la condición de que cualquier proyecto desarrollado con ella tiene que ser distribuido bajo la misma licencia. En caso contrario, puede adquirirse una Licencia comercial de Oracle Corporation.
En la próxima entrada veremos MariaDB, una base de datos derivada de MySQL y compatible con ella, que debería ser vuestra primera opción como base de datos.
Disponer de una base de datos en imprescindible en casi cualquier proyecto de desarrollo. MySQL es una de las opciones más empleadas en proyectos caseros y Maker, debido a su licenciamiento y su popularidad.
Instalar MySQL
Instalar MySQL 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 MySQL. La instalación no pregunta por datos de usuario ni contraseña, siendo insegura tal cual está.
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 en Raspberry Pi. En la próxima entrada veremos cómo instalar MariaDB, una alternativa compatible con MySQL, que usaremos en nuestros proyectos.