Académique Documents
Professionnel Documents
Culture Documents
Il faut d’abord télécharger Putty afin de se connecter au serveur distance par SSH qui est une
connexion sécuriser que le telnet
TP Administration BD 1
ENSEIGNANT Claver GUERET
Une fois sur cette interface je saisie root comme login et password le mot de passe admin du
serveur.
Une fois sur cette interface je vérifie si le service mysql est belle et bien demarrer
En tapant la commande service mysqld status ou /etc/init.d/mysqld status
Je peux maintenant me connecter a mysql avec le compte par défaut qui est root et sans mot
de passe
TP Administration BD 2
ENSEIGNANT Claver GUERET
La sécurité d'une base de données passe également par une gestion réfléchie des privilèges des
utilisateurs. Le langage SQL propose deux mots clés permettant de gérer les privilèges :
GRANT et REVOKE. Nous allons apprendre à les utiliser ici, avec les spécificités de
MySQL.
Tout d'abord, il est important de rappeler la règle d'or pour une gestion sécurisée des droits
utilisateurs : un minimum de droits = un maximum de sécurité. En d'autres termes, il est
complètement inutile d'attribuer plus de privilèges que ceux nécessaires pour réaliser les
opérations prévues. Tout privilège excessif peut donner lieu à une faille de sécurité.
Ainsi, il est évident que, dans les applications qui utilisent la base de données, l'utilisateur root
(ou tout autre administrateur) ne doit pas être utilisé. Il faut donc créer un ou plusieurs
utilisateurs sous MySQL qui n'auront que les droits correspondants aux opérations que permet
l'application.
La commande GRANT permet d'attribuer des privilèges. La plupart des privilèges peuvent
concerner une colonne, une table entière ou une base de données. Certains peuvent même être
globaux, c'est-à-dire valides pour toutes les tables et toutes les bases de données. Des
privilèges s'appliquent également aux routines : procédures stockées, fonctions et triggers.
Créons tout d'abord une base de données TP contenant deux tables pour nos tests :
TP Administration BD 3
ENSEIGNANT Claver GUERET
TP Administration BD 4
ENSEIGNANT Claver GUERET
Je suis maintenant connecter je liste les tables qui existe dans cette bases ;
Il existe aucune table pour le moment je vais créer mes deux tables précitées ci-dessus
TP Administration BD 5
ENSEIGNANT Claver GUERET
Je viens de créer mes deux tables je les liste par la commande show tables
TP Administration BD 6
ENSEIGNANT Claver GUERET
TP Administration BD 7
ENSEIGNANT Claver GUERET
TP Administration BD 8
ENSEIGNANT Claver GUERET
>mysql -u claver -p
TP Administration BD 9
ENSEIGNANT Claver GUERET
Utilisateur teddy en lui attribuant le droit d’nsertion dans les tables testGrant1 code :
GRANT INSERT ON tp.testGrant2 TO 'teddy'@'localhost' IDENTIFIED BY 'teddy';
TP Administration BD 10
ENSEIGNANT Claver GUERET
Grâce aux commandes GRANT et REVOKE, vous pouvez donc gérer les privilèges de vos
utilisateurs. Une autre commande intéressante à connaître est SHOW GRANTS qui permet à
un utilisateur de voir les privilèges qui lui ont été accordés. En tant qu'administrateur, vous
pouvez également utiliser cette commande pour lister les privilèges octroyés à un utilisateur
spécifique :
TP Administration BD 11
ENSEIGNANT Claver GUERET
NB : pour créer un utilisateur sous Mysql il y’a deux cas selon la version
Creation1:
mysql> GRANT USAGE ON * . * TO 'claver'@'localhost' IDENTIFIED BY 'azerty';
uniquement la base TP
mysql> GRANT USAGE ON TP. * TO 'claver'@'localhost' IDENTIFIED BY 'azerty';
Creation2:
mysql> CREATE USER claver@localhost IDENTIFIED BY 'azerty';
Pour afficher la version d’un soft sous linux on utilise la commande : rpm -qa |grep nomsoft
Ex : rpm -qa |grep mysql
TP Administration BD 12
ENSEIGNANT Claver GUERET
DELETE FROM `db` WHERE CONVERT( User USING utf8 ) = CONVERT( 'claver'
USING utf8 ) AND CONVERT( Host USING utf8 ) = CONVERT( 'localhost' USING
utf8 ) ;
TP Administration BD 13
ENSEIGNANT Claver GUERET
Exemple
TP Administration BD 14