IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Problème de création des utilisateurs et attribution des privilèges sous Mysql


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Par défaut Problème de création des utilisateurs et attribution des privilèges sous Mysql
    Bonjour,

    Je voulais créer des utilisateurs de ma base et chacun a des privilèges bien déterminés sachant que je travaille en localhost et la version de mysql est 5.5 sous windows XP.
    Par exemple, j'ai 3 utilisateurs : "admin", "employe" et "client" ayant respectivement comme mot de passe : 'pwdadmin', 'pwdemploye ', 'pwdclient '
    Je voulais donner à ses utilisateurs les privilèges suivants:

    - L’utilisateur admin a tous les droits sur la base "Commerce" que contient les tables : "client", "employe", "produit" et "commander".
    - L’utilisateur employe ne peut modifier (Update)que les enregistrements des tables de la base.
    - L’utilisateur client a le droit de l’interrogation de la base (Select).

    Voici mes propositions mais çà ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE USER 'admin'@'localhost' IDENTIFIED BY 'pwdadmin';
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE USER admin IDENTIFIED BY 'pwdadmin';
    Pour les privilèges:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Grant all on commerce to admin;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Grant update on commerce to employe;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Grant select on commerce to client;
    Quel est le problème ?

    Quelles modifications à faire ?

    Merci.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    mais çà ne marche pas
    Normal, ça n'a pas de jambes !

    Autres symptômes plus informatiques ?

    Tu peux créer et attribuer les droits en une seule passe avec GRANT.

    regarde ces exemples issus de la doc MySQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Vous pouvez ajouter de nouveaux utilisateurs en utilisant des commandes GRANT :
     
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
        ->     IDENTIFIED BY 'un_mot_de_passe' WITH GRANT OPTION;
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
        ->     IDENTIFIED BY 'un_mot_de_passe' WITH GRANT OPTION;
    mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
    mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';
    Dans ton cas, pour l'admin, tu peux faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT ALL PRIVILEGES ON commerce.* TO 'admin'@'localhost' IDENTIFIED BY 'pwdadmin'
    Je te laisse chercher les autres.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Par défaut
    Bonjour,
    J'ai fait la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT ALL PRIVILEGES ON commerce.* TO 'admin'@'localhost' IDENTIFIED BY 'pwdadmin';
    J'ai eu le message suivant :

    1 11:35:08 GRANT ALL PRIVILEGES ON commerce.* TO 'admin'@'localhost' IDENTIFIED BY 'pwdadmin' 0 row(s) affected, 1 warning(s): 1396 Operation CREATE USER failed for 'admin'@'localhost'
    Je voulais faire tout d'abord la création des utilisateurs puis l'attribution des privilèges car ce n'est pas obligatoire d'attribuer des privilèges en moment de la création des utilisateurs.
    Voici ma proposition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create user 'admin'@'localhost' IDENTIFIED BY 'pwdadmin';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT ALL PRIVILEGES ON commerce.* TO  'admin'@'localhost';
    Voici le message d'erreur:

    0 33 11:40:20 create user 'admin'@'localhost' IDENTIFIED BY 'pwdadmin' Error Code: 1396. Operation CREATE USER failed for 'admin'@'localhost' 0.000 sec


    - Quel est le problème ?

    - Comment connecter avec un utilisateur en utilisant son mot de passe par exemple l'utilisateur "admin" pour tester ses privilèges sachant que l'utilisateur par défaut qu'est l’administrateur ayant comme login "root" et mot de passe
    "root" ?

    Merci.

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Pour faire ces opérations, tu te connectes à MySQL avec un utilisateur qui a les supers privilèges (root par exemple) ?

    L'utilisateur 'admin'@'localhost' n'existe pas déjà ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Par défaut
    Pour faire ces opérations, tu te connectes à MySQL avec un utilisateur qui a les supers privilèges (root par exemple) ?
    Quelle commande SQL à taper avec un utilisateur a comme login 'admin' et mot de passe 'pwdadmin' ?

    Merci.

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par siempre Voir le message
    Quelle commande SQL à taper avec un utilisateur a comme login 'admin' et mot de passe 'pwdadmin' ?
    Euh... quoi ?

    Tu as essayé les requêtes CREATE USER et GRANT, c'est donc que tu es connecté à MySQL et que tu y a donc accédé avec un nom d'utilisateur et un mot de passe. Je te demandais si cet utilisateur a bien des droits super, comme l'utilisateur par défaut de MySQL qui s'appelle 'root'.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    mysqldump est aussi un programme à exécuter en ligne de commande, pas dans MySQL !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Par défaut
    mysqldump est aussi un programme à exécuter en ligne de commande, pas dans MySQL !
    Merci çà marche. J'ai obtenu un fichier nommé "bdcopy".
    Mais, je ne sais pas l'extension de ce fichier.
    Où je vais copier exactement dans l'autre PC ?
    Est ce que il faut l'exécuter pour obtenir les tables et les données déjà existants dans la base "commerce" de premier PC ?
    Si oui, comment on fait ? quelles commandes à taper ?

    Merci.

  9. #9
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Normalement, c'est un fichier texte auquel on donne généralement l'extension .sql puisqu'il contient des requêtes SQL.

    Pour restaurer ce dump dans l'autre PC, il faut :
    1) y transférer le fichier bdcopy ;
    2) y créer la BDD dans MySQL
    3) y exécuter la commande suivante en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql -u root -proot nom_de_la_bdd_créée < bdcopy
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Par défaut
    Pour restaurer ce dump dans l'autre PC, il faut :
    1) y transférer le fichier bdcopy ;
    2) y créer la BDD dans MySQL
    3) y exécuter la commande suivante en ligne de commande :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql -u root -proot nom_de_la_bdd_créée < bdcopy

    J'ai crée une nouvelle base de donnée "commerce1" pour contenir les tables et ses données de l'ancienne base de données "commerce".
    Le chemin de cette base "commerce1" est :
    "C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data"

    J'ai déplacé le fichier sql "bdcopy" dans le deuxième PC.
    Le chemin de ce fichier sql "bdcopy" est :
    "C:\Program Files\MySQL\MySQL Server 5.5\bin"

    Puis, j'ai tapé la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mysql> create database commerce1;
    Query OK, 1 row affected (0.00 sec)
     
    mysql> mysql -u root -proot commerce1 < bdcopy;
    J'ai eu le message d'erreur suivant:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near 'mysql -u root -proot commerce1 < bdcopy' at line 1

  11. #11
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Tu es long à comprendre toi !
    Citation Envoyé par CinéPhil
    3) y exécuter la commande suivante en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql -u root -proot nom_de_la_bdd_créée < bdcopy
    Pas dans MySQL !
    Il faut que tu sortes de MySQL avec la requête QUIT;
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Problème de création de la première base des données
    Par gentil2005 dans le forum Odoo (ex-OpenERP)
    Réponses: 2
    Dernier message: 18/12/2012, 16h20
  2. Problème de création d'un String avec des caractères
    Par titi42 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 11/09/2009, 16h19
  3. Réponses: 3
    Dernier message: 08/03/2007, 10h18
  4. Réponses: 3
    Dernier message: 19/04/2006, 18h44
  5. sélection des bd en fonction des utilisateurs (pg_hba.conf)
    Par Bouboubou dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 18/03/2004, 18h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo