🛢️Parcours Fioul GroupéMySQL · Chapitre 16
Accueil › MySQL › Chapitre 16
Chapitre 16 / 16 · dernier · 🛡️

Gestion des utilisateurs et sécurisation

Créer des comptes, n'accorder que les droits nécessaires, se prémunir des injections SQL et sauvegarder : les fondamentaux pour exploiter une base en confiance. Ce chapitre croise directement le cours de cybersécurité.

1 Admin

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';
Moindre privilège — jamais 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.
2 Sécurité

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';
🛡️ Parade : requêtes préparées — ne concaténez jamais une saisie. Les placeholders transmettent la valeur séparément : elle ne peut plus être interprétée comme du code.
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.

3 Admin

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
Une sauvegarde non testée n'existe pas — automatisez, stockez hors du serveur, et testez régulièrement une restauration.
🛢️ Sur le projet Fioul Groupé

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.

À retenir
← Chapitre 15