Sauvegarder et restaurer une base (mysqldump), importer et exporter des données, créer des comptes utilisateurs et gérer leurs privilèges avec GRANT et REVOKE.
1Situer
La base de Souk Atlas contient maintenant des mois de commandes. Que se passe-t-il si le disque du serveur tombe en panne ? Et faut-il vraiment que le site web se connecte avec le compte root, qui a le droit de tout supprimer ? Administrer une base, c'est la protéger : sauvegardes régulières, et chaque utilisateur avec juste les droits dont il a besoin.
2Comprendre
Sauvegarder, restaurer, donner des droits
La base souk sur le serveur MySQL.
1 / 4
Sauvegarder et restaurer : backup
L’outil mysqldump (dans le terminal, pas dans le client mysql) écrit un fichier .sql qui contient tous les CREATE TABLE et INSERT nécessaires :
mysqldump -u root -p souk > souk_2025-06-01.sql # toute la base
mysqldump -u root -p souk produits clients > catalogue.sql # quelques tables
mysqldump -u root -p --all-databases > serveur_complet.sql # tout le serveur
Pour restaurer : mysql -u root -p souk < souk_2025-06-01.sql. Dans Workbench : Server > Data Export et Server > Data Import.
Importer et exporter
Besoin
Moyen
Importer un .sql
mysql -u root -p souk < fichier.sql ou SOURCE fichier.sql;
Importer un .csv
LOAD DATA INFILE ... ou Workbench « Table Data Import Wizard »
Exporter un résultat en .csv
SELECT ... INTO OUTFILE ... ou Workbench « Export »
Exporter toute la base
mysqldump
Créer des comptes utilisateurs
CREATEUSER'site_souk'@'localhost'IDENTIFIEDBY'Mot2Passe!Fort'; -- depuis le serveur seulementCREATEUSER'compta'@'%'IDENTIFIEDBY'Autre!Mot2Passe'; -- depuis n'importe oùALTERUSER'compta'@'%'IDENTIFIEDBY'Nouveau!Mot2Passe'; -- changer le mot de passeDROPUSER'compta'@'%'; -- supprimer le compte
Gérer les privilèges : GRANT et REVOKE
GRANTSELECTON souk.*TO'compta'@'localhost'; -- lire toute la baseGRANTSELECT, INSERTON souk.commandes TO'site_souk'@'localhost'; -- une tableGRANTALLPRIVILEGESON souk.*TO'admin_souk'@'localhost'; -- tout sur soukREVOKEINSERTON souk.commandes FROM'site_souk'@'localhost'; -- retirerSHOW GRANTS FOR 'site_souk'@'localhost'; -- vérifier
Exemple simple
Les clés du riad
Le gardien du riad a toutes les clés. Le livreur a seulement la clé de la porte de service, la femme de ménage celles des chambres. Dans MySQL, root est le gardien ; chaque application reçoit seulement les clés (privilèges) utiles.
GRANTSELECT, INSERTON souk.*TO'site'@'localhost';
Exemple simple
La photocopie du registre
Une sauvegarde, c'est une photocopie du registre rangée dans un autre bâtiment. Si le registre brûle, on repart de la photocopie. Une sauvegarde gardée sur le même disque que la base ne sert à rien en cas de panne du disque.
Publicité
3Manipuler
Préparez les comptes de la boutique. La console simule les comptes MySQL : SHOW GRANTS montre les droits de chaque compte.
Pas à pas dans le lab ↗La base de départ se crée dans votre navigateur (moteur SQL d’environ 700 Ko, chargé une fois).
Résultat
Le résultat de chaque requête s'affichera ici.
Consignes 0 / 4
Donnez aussi à site_souk le droit INSERT sur souk.commandes
Créez le compte 'compta'@'localhost' avec un mot de passe
Donnez à compta seulement le droit SELECT sur toute la base souk
Retirez à site_souk le droit SELECT sur toute la base (REVOKE)
4Pratiquer
Exercice 1 · Sauvegarder et restaurer
Écrivez les commandes (dans le terminal, pas dans mysql) pour sauvegarder la base souk dans souk_2025-06-01.sql, puis la restaurer dans une base souk_test.