Voici les privilèges du root dans la table user :
Privilèges | Attributs | Fonctions |
Host |
|
le serveur hôte |
User |
|
son login |
Password | son mot de passe crypté mais il n'en a pas au départ | |
Select_priv |
|
permet de sélectionner des enregistrements à toutes les BDD |
Insert_priv |
|
permet d'insérer des enregistrements à toutes les BDD |
Update_priv |
|
permet de modifier des enregistrements à toutes les BDD |
Delete_priv |
|
permet de supprimer des enregistrements à toutes les BDD |
Create_priv |
|
permet de créer des BDD |
Drop_priv |
|
permet de supprimer des BDD |
Reload_priv |
|
permet de relancer le démon |
Shutdown_priv |
|
permet d'arrêter le démon |
Process_priv |
|
permet de connaître les process en cours |
File_priv |
|
permet import/export de tables |
Avec ces privilèges, le root peut faire ce qu'il veut sur toutes les BDD et utiliser mysqladmin comme il l'entend.
Voici les bons privilèges (d'après moi) pour un utilisateur
normal dans la table user :
Privilèges | Attributs | Fonctions |
Host |
|
le serveur hôte |
User |
|
son login |
Password |
|
son mot de passe crypté |
Select_priv |
|
ne permet pas de sélectionner des enregistrements à toutes les BDD |
Insert_priv |
|
ne permet pas d'insérer des enregistrements à toutes les BDD |
Update_priv |
|
ne permet pas de modifier des enregistrements à toutes les BDD |
Delete_priv |
|
ne permet pas de supprimer des enregistrements à toutes les BDD |
Create_priv |
|
ne permet pas de créer des BDD |
Drop_priv |
|
ne permet pas de supprimer des BDD |
Reload_priv |
|
ne permet pas de relancer le démon |
Shutdown_priv |
|
ne permet pas d'arrêter le démon |
Process_priv |
|
ne permet pas de connaître les process en cours |
File_priv |
|
permet import/export de tables |
Etant donné que ces privilèges vis-à-vis du démon
mysql sont volontairement très restrictifs pour un utilisateur normal,
il faudra alors définir les droits de ce dernier vis-à-vis
de sa BDD pour qu'il puisse effectuer les tâches courantes de mise
à jour uniquement pour sa BDD.
Voici les privilèges pour un utilisateur normal vis-à-vis
de sa BDD dans la table db :
Privilèges | Attributs | Fonctions |
Host |
|
le serveur hôte |
Db | BDDdeJean | le nom d'une base de données |
User |
|
son login |
Select_priv |
|
permet de sélectionner des enregistrements à toutes ses tables |
Insert_priv |
|
permet d'insérer des enregistrements à toutes ses tables |
Update_priv |
|
permet de modifier des enregistrements à toutes ses tables |
Delete_priv |
|
permet de supprimer des enregistrements à toutes ses tables |
Create_priv |
|
permet de créer des tables dans sa BDD |
Drop_priv |
|
permet de supprimer des tables de sa BDD |
Avec ces privilèges, un utilisateur normal ne pourra pas utiliser mysqladmin pour créer des BDD ou arrêter le démon. Il pourra seulement faire "mysqladmin version ou status ou variables " pour obtenir des info sur l'état du démon mysql. En outre, il ne pourra utiliser que sa BDD.
Voici la syntaxe générale du client de MySQL :
mysql [-h nom_hôte] [-u nom_utilisateur] [-pvotre_passe]
[une_BDD]
ou mysql [-h nom_hôte] [-u nom_utilisateur] [-p] [une_BDD] puis [votre_passe] |
Par défaut -h = localhost et -u = root (pour Windows et l'userID pour Unix)
Pour ajouter un mot de passe à root :
- lancer le démon
- mysql mysql [entrée]
- UPDATE user SET password=password('le_passe_de_root')
WHERE user='root' and host='localhost'; [entrée]
- quit [entrée]
- mysqladmin reload [entrée]
Pour se connecter avec le root et son mot de passe :
- mysql -u root -p [entrée]
- entrer le_passe_de_root [entrée]
Conseil :
Au départ, il y a 4 lignes dans la table user : 2 lignes avec
root et 2 lignes avec le champ user vide.
Ne gardez qu'un enregistrement avec root (en localhost) et supprimez
les 3 autres. Ensuite, si besoin, ajoutez des utilisateurs normaux avec
les privilèges ci-dessus.
N'oubliez pas que la syntaxe de mysqladmin est :
mysqladmin [commande] [-h nom_hôte] [-u
nom_utilisateur] [-pvotre_passe]
ou mysqladmin [commande] [-h nom_hôte] [-u nom_utilisateur] [-p] puis [votre_passe] |
et que par defaut -h = localhost et -u = root (pour Windows et l'userID pour Unix)
Ex : mysqladmin reload -u root [entrée] puis le mot de passe [entrée]
Pour gérer plus confortablement votre base de données
MySQL, je vous conseille ces 2 outils qui sont complémentaires :
- myAdmin
- phpMyAdmin
Quelques liens utiles :
www.mysql.com :
le site officiel de MySQL
www.minet.net/devel/mysql/
: un site miroir français de MySQL
www.nexen.net/fr/aide/MySQL/francais/manual_toc.html
: une traduction du manuel de MySQL
www.siteck.com/mysql.html
: un tutoriel en français sur l'utilisation de MySQL
sqltut.html : un tutoriel
en anglais sur SQL dont je ne retrouve plus le site d'origine sur Geocities
- Page d'accueil - |