Utilisateurs et privilèges
CREATE USER 'app_fioul'@'localhost' IDENTIFIED BY 'MotDePasseFort!'; GRANT SELECT, INSERT, UPDATE, DELETE ON fioul.* TO 'app_fioul'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'app_fioul'@'localhost'; REVOKE DELETE ON fioul.* FROM 'app_fioul'@'localhost';
root depuis l'application. Un compte dédié par appli, restreint à sa base et aux seules opérations utiles. @'localhost' limite aussi l'origine des connexions.L'injection SQL
La faille la plus courante : concaténer une saisie utilisateur dans une requête.
-- saisie "' OR '1'='1" concaténée => renvoie TOUT
SELECT * FROM participant WHERE email = '' OR '1'='1';
PREPARE stmt FROM 'SELECT * FROM participant WHERE email = ?'; SET @e = 'ada@exemple.fr'; EXECUTE stmt USING @e;
En pratique, votre langage le fait : PreparedStatement (JDBC), PDO (PHP), requêtes paramétrées de l'ORM — c'est ce que fait Spring Data côté API fioul.
Sauvegarder et restaurer
# sauvegarde puis restauration
mysqldump -u root -p fioul > fioul_2026-09-18.sql
mysql -u root -p fioul < fioul_2026-09-18.sql
Le compte app_fioul (droits CRUD sur la seule base fioul) est celui que configure l'API Spring ; les requêtes préparées de Spring Data neutralisent l'injection ; un événement de sauvegarde et un dump régulier protègent les inscriptions. Ces points alimentent directement le modèle de menaces et le volet Cyber du projet.
🎉 Parcours MySQL terminé
Du premier SELECT jusqu'aux index, transactions, procédures et sécurisation, tu maîtrises désormais le relationnel avec MySQL — l'alternative SQL à MongoDB pour le domaine Fioul Groupé, et le socle qu'utilise l'API Spring via JPA. Retour au portail ou au sommaire.
- CREATE USER + GRANT/REVOKE : le principe du moindre privilège.
- Injection SQL : jamais de concaténation, toujours des requêtes préparées.
- mysqldump pour sauvegarder ; tester la restauration.
- Sécurité = discipline continue, passerelle directe avec le cours Cyber.