Installation de Mariadb

Préalables

Note : Le SGBDR MariaDB est un fork (qu'est-ce que c'est ?) de MySql. Grace à sa licence libre, il est largement répandu dans les distributions Linux. Il est compatible avec MySql mais ajoute de nouvelles fonctionnalités.

Installation

Commençons pas installer le serveur MariaDB (sur votre serveur principal) :

# installation
dnf module -y install mariadb:10.11

# lancement et activation
systemctl enable --now mariadb

# sécuriser (choisir le mot de passe 'hello')
# c'est l'équivalent de mysql_secure_installation
mariadb-secure-installation

Le logiciel client est simplement la commande mariadb (l'équivalent de mysql ) :

# se connecter au serveur (-p pour donner le mot de passe)
mariadb -p

Une fois connecté, avec les ordres ci-dessous, créez une BD, configurez les droits :

CREATE DATABASE moviesdb ;

GRANT ALL PRIVILEGES ON moviesdb.* TO moviesuser@localhost
IDENTIFIED BY 'moviespass' WITH GRANT OPTION;

Vous pouvez maintenant vous connecter avec cet utilisateur :

mariadb -u moviesuser -p
Une fois connecté
USE moviesdb;

CREATE TABLE test_table (id int, name varchar(50), primary key (id)); 

INSERT INTO test_table(id, name) values(1, "CentOS"); 

SELECT * FROM test_table;

SHOW TABLES ;

Utiliser cette base de données

Téléchargez une application Spring-boot qui travaille, par défaut, avec une base de données en mémoire et testez-là (en créant un tunnel ssh à partir de votre poste DOSI ssh -L9000:localhost:8081 VM) :

# si cela est nécessaire
dnf -y install unzip

wget https://jean-luc-massat.pedaweb.univ-amu.fr/ens/asr/spring-app.zip
unzip spring-app.zip
java -jar spring-app.war

Nous allons maintenant lancer cette application en changeant les paramètres Spring-Boot afin d'utiliser la nouvelle base de données MariaDB :

Script spring-app.sh à préparer
java \
    -Dspring.datasource.driver-class-name=com.mysql.jdbc.Driver \
    -Dspring.datasource.url=jdbc:mysql://localhost/moviesdb \
    -Dspring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect \
    -Dspring.jpa.hibernate.ddl-auto=update \
    -Dspring.datasource.username=moviesuser \
    -Dspring.datasource.password=moviespass \
    -jar spring-app.war

Utilisez l'application et vérifiez que les tables sont correctement créées et remplies dans la base moviesdb.