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