Utiliser une base de données MySQL En ligne de commande 1

Transcription

Utiliser une base de données MySQL En ligne de commande 1
Utiliser une base de données MySQL
En ligne de commande
1. Préparation de l'environnement
1. Installer Xampp_Lite directement la racine de votre unité réseau ou sur une clé USB.
2. Pour démarrer le couple Apache/Mysql vous devez lancer tout d'abord
Apache_Start.exe puis MySQL_Start.exe. Cela aura pour effet d'ouvrir 2 fenêtres
distinctes d'exécution qui doivent rester ouvertes si vous voulez manipuler le SGBD.
NB : ne fermer pas les fenêtres de lancement ! Leur fermeture stoppe les services
correspondant ! Les fenêtres doivent impérativement contenir "Apache 2 is starting" et
"MySql is starting".
3. Tester Xampp dans un navigateur avec l'adresse Localhost/xampp
4. Vérifier que tous les services sont actifs dans la rubrique status.
5. Depuis PHPMyAdmin combien de bases de données sont livrées dans Xampp ?
6. Combien de tables contient la base de données cdcol ?
2. Stockage des tables MySQL
Les tables des bases de données stockées dans le SGBD sont enregistrées sous forme de
fichiers dans le répertoire DATA de MySQL.
7. Ouvrez ce répertoire
correspondent-ils ?
et
constatez
les
sous-répertoires
présents.
A
quoi
NB : Vous remarquerez une base de données portant le même nom que le SGBD (mysql). Il
s'agit de la base de données interne du serveur, destinée à gérer les utilisateurs,
l'authentification et leurs droits d'accès (appelés privilèges).
8. Observez le contenu du répertoire CdCol. Qu'en déduisez-vous concernant les fichiers
nécessaires à la description de chaque table d'une base ?
9. Stoppez Apache et MySQL puis observez le contenu du répertoire CdCol. Essayez
d'ouvrir les différents fichiers de ce répertoire et déterminez dans quel fichier sont
contenues les données ?
3. Utilisation de MySQL en ligne de commande
10. Relancez Apache_Start et MySQL_Start.
11. Sous l'interpréteur de commande, placez-vous sur le répertoire BIN de MySQL de
votre répertoire XAMPP
12. Connectez-vous sur le SGBD avec le client console au moyen de l'instruction
mysql.exe.
La commande mysql exécute un utilitaire client, qui permet de dialoguer avec le serveur
MYSQL. C'est un interpréteur de commandes SQL. Ce mode d'accès effectué en ligne de
commande, est appelé le mode console. Lorsque l'on lance cette commande, aucun login, ni
mot de passe n'est demandé. On peut ainsi se connecter en fait comme administrateur de
mysql, et sans mot de passe !
13. Consultez les bases de données présentes avec l'instruction SHOW databases. Que
constatez-vous ?
14. Connectez-vous sur la base test avec l'instruction use nom_base.
15. Revenez sur la console et tenter d'aller sur la base cdcol. Que se passe-t-il ?
Pourquoi ?
Sous MySQL, les utilisateurs s'affichent sous la forme 'login'@'machine_cliente'.
16. Testez la commande
pour connaître l'utilisateur
avec lequel vous êtes connecté. Quel est son login ? Depuis quel client se connecte-til ?
17. Testez la commande status. Que vous apprend-t-elle ?
4. Voir l'utilisateur connecté en permanence
Le moyen le plus simple de connaître qui est connecté et sous quelle base de données est
d'utiliser le Prompt (l'invite de commande). Sous MySQL le prompt par défaut est
mysql>. Il peut être modifier à l'aide de l'instruction prompt= prompt à afficher.
18. Par exemple, testez l'instruction suivante :
NB : vous pouvez revenir à tout moment au prompt initial avec l'instruction prompt sans
paramètre .
L'instruction prompt accepte les paramètres suivants :
19. Créer votre propre prompt de manière à afficher l'utilisateur, le poste et la base sur
lesquels vous êtes connecté (par exemple :
)
5. Se connecter avec le bon utilisateur
Pour se connecter sous MySql avec un utilisateur autre que l'utilisateur par défaut, il
suffit d'ajouter le paramètre –u nom-utilisateur.
20. Connectez-vous sur le client MySQL avec l'utilisateur root.
21. Maintenant que vous êtes connecté avec root, consulter les bases auxquelles vous
avez accès. Vous devez voir toutes les bases du SGBD.
22. Listez les tables de la base de données cdCol. Que se passe-t-il ?
23. Faites le nécessaire pour lister les tables de la base CDCol. Combien de tables voyezvous ?
24. Affichez la structure de la table CdCol avec l'instruction DESCRIBE nom_table.
Combien de champs contient-elle ?
25. Ecrivez la requête SQL permettant de connaître le titre interprété en 2001 ?
6. Sécuriser l'accès au SGBD
26. Sous root, sur le base mysql, testez la commande select host, user, password
from user; Quels sont les utilisateurs existants ?
27. Que remarquez-vous concernant l'utilisateur Root ?
28. A quel utilisateur correspond la ligne ou les champs user et password sont vides ?
Sur MySQL, un compte anonyme est créé. C'est celui avec lequel vous vous êtes
connecté précédemment. Il est vivement recommandé de le supprimer ... pas vraiment
pour une question de sécurité car ses privilèges sont très limité (on a vu tout à l'heure
qu'il ne pouvait avoir accès qu'à la base test), mais pour éviter des confusions liées à la
procédure d'authentification.
29. Supprimez le compte anonyme et vérifiez sa bonne suppression.
30. Créer l'utilisateur Util avec l'instruction suivante :
31. Afficher la liste des utilisateurs de la table user. Comment apparait le mot de passe
de votre nouvel utilisateur ?
Sous MySQL les mots de passe sont cryptés au moyen de la fonction PASSWORD()
comme le montre la requête suivante :
32. Ecrivez la requête SQL permettant de modifier le mot de passe de Util en pwd2.
33. Vérifiez. Vous devez obtenir ceci :
Pour améliorer la sécurité du SGBD on peut ajouter un mot de passe à l'utilisateur Root
qui en est par défaut dépourvu.
34.Ajoutez le mot de passe chef à l'utilisateur root du client Localhost puis recharger la
sécurité du SGBD avec l'insturction : flush privileges;
35. Déconnectez-vous de l'utilitaire mysql puis reconnectez vous avec l'utilisateur
anonyme (ça ne doit pas fonctionner) puis avec l'utilisateur root sans mot de passe
(ça ne doit pas fonctionner non plus).
36. Connectez-vous avec l'utilisateur root et son mot de passe au moyen du paramètre
–p. On vous demandera alors de saisir le mot de passe. La connexion doit aboutir…

Documents pareils