:.     Home     .:.     Cours     .:.     Faits divers     .:.     Blagues     .:.     Liens     .:.     Perso     .:

 

MySQL :
Configuration des utilisateurs


Nous supposons que vous venez juste d’installer MySQL sur votre serveur. C’est vraiment très simple à installer.

1. Configurer le compte de l’administrateur :

Lancer la commande :
$> mysql -u root    // pour se connecter au serveur et accéder à l’invite de commandes mysql.

A ce stade, vous vous connectez directement en tant que root sans taper de mot de passe. Nous allons essayer de corriger ce problème.

Lorsque vous installez MySQL, une base de donnée mysql est automatiquement créée afin de permettre la gestion des autorisations au serveur MySQL. Lancez la commande :

mysql> use mysql    // On sélectionne la base de données sur laquelle on désire travailler.
(Ensuite vous pouvez taper la commande : show tables ; afin de lister les tables de la base.)
Tapez la requête : mysql> select user, host from user ;
Vous listerez ainsi tous les utilisateurs pouvant se connecter à votre serveur MySQL.
Si vous avez des utilisateurs autres que le root, vous pouvez les supprimer :
mysql> delete from user where user="";
mysql> delete from user where user="utilisateur";   /* utilisateur étant celui que vous voulez supprimer. */
Pour que le système prenne en compte tout de suite les modifs, faîtes :
mysql> flush privileges ;

Voilà ! Maintenant, seul l’administrateur peut se connecter au serveur.

Réglons la question du mot de passe du root.
mysql> select user, host, password from user ;
Vous verrez que la case du mot de passe est vide.
Pour le changer :
mysql> update user set password=PASSWORD('motpassroot') where user='root' ;
Ou bien : mysql> set password for root@localhost=PASSWORD("rootpasswd");
Pour tout valider : mysql> flush privileges ;


2. Créer une base de données et en attribuer la gestion à un utilisateur :

Se connecter en tant que root :
$> mysql -u root -p
(Entrez le mot de passe root que vous avez créé)
mysql> create database Exemple;   // Création de la base de données Exemple
mysql> create table magasins
           (mag_num CHAR(8) primary key,
           mag_loc VARCHAR(25) ,
           mag_ger VARCHAR(25) );   // Création de la table magasins

La base de données Exemple a été créée ainsi que la table magasins.

Créons maintenant l’utilisateur yerbanga qui doit exploiter cette base de données :
mysql> grant
           select, insert, update, delete, create, drop
           on Exemple.*
           to yerbanga@localhost
           identified by 'roger';
   // roger étant le mot de passé

Cette même opération est possible en utilisant la table db de la base de données mysql.
Connectez-vous en tant que root. Et :
mysql> use mysql
mysql> describe db ;
mysql> insert into
           db values
           ('localhost','exemple', 'yerbanga','Y','Y','Y','Y','Y','Y','N','N','N', 'N', 'N', 'N');

mysql> flush privileges ;

Ainsi, nous avons deux utilisateurs : root et yerbanga. Root est l’administrateur en chef du système, il crée les utilisateurs, et les détruit comme il veut, et il leur donne des droits afin que ceux-ci puissent exploiter les bases de données du serveur. Les autres utilisateurs (yerbanga) ne peuvent qu’exploiter des bases de données applicatives.

Si vous vous connectez en tant que yerbanga :
$> mysql -u yerbanga -p
Vous ne pourrez pas utiliser la base de données du système (mysql) en tapant la commande :
mysql> use mysql

Pour rajouter des droits, la commande est GRANT :
mysql> GRANT select
           ON mysql.*
           TO yerbanga ;

Pour révoquer des droits : REVOKE
mysql> REVOKE select
           ON mysql
           TO yerbanga ;

Sources :

http://www.infres.enst.fr/~danzart/mysql
http://perso.wanadoo.fr/philippe.baucour/pratiquer/mysql/configurationmysql.html


L'information, n'est-elle pas précieuse ? Partageons la tous ensemble !

© Février 2005
Roger YERBANGA
www.yerbynet.com