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

Requêtes MySQL Discussion :

User MySql - Erreur de Script


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    PLM IT Consultant
    Inscrit en
    Novembre 2003
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : PLM IT Consultant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 202
    Par défaut User MySql - Erreur de Script
    Bonjour,
    Je suis en train de reprendre un travail de diplôme dans mon école et celui qui m'a précédé m'a donné quelques scripts MySQL à intégrer dans l'application que je réalises. Je dois créer des USER mySQL et voici mon script de création:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    -- Création de l'utilisateur
    CREATE USER 'visiteur'@ 'localhost';
     
    -- uniquement pour mysql
    GRANT USAGE ON * . * TO 'visiteur'@ 'localhost' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
     
    -- Application des droits sur la base de données : remplacez  bd_phpmodx par le nom de votre base de données
    GRANT SELECT ON `bd_phpmodx` . * TO 'visiteur'@'localhost';
     
    -- Application des droits sur la table des sessions : remplacez  bd_phpmodx par le nom de votre base de données
    GRANT SELECT , INSERT , UPDATE , DELETE ON `bd_phpmodx`.`tb_sessions` TO 'visiteur'@'localhost';
    Mais dès la première ligne (CREATE USER) il me fait une erreur, est-ce que quelqu'un pourrait m'aider.

    Merci

  2. #2
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 15
    Par défaut
    je ne pense pas que ce code marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [CREATE USER 'visiteur'@'localhost';
    tu peux toujours essayer ces requetes là sous mysql :

    mysql>use mysql;
    mysql>insert into user(host,user) values ('localhost','visiteur');

    J'ai testé ca marche bien. Ton GRANT devrait marcher après.
    Pour moi, CREATE est utilisé pour créer des tables. Tu as déjà une table des "user" pour les utilisateurs, il suffit juste de faire une insertion.

    A bientot.

  3. #3
    Membre confirmé
    Homme Profil pro
    PLM IT Consultant
    Inscrit en
    Novembre 2003
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : PLM IT Consultant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 202
    Par défaut
    Ok merci,

    j'ai juste les autres requêtes qui fonctionnent pas... Peux-tu juste me donner un tit coup de main...

    Merci

  4. #4
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 15
    Par défaut
    Pour les droits que tu veux mettre à ton utilisateur ca depend de toi !!!
    Je te conseille de regarder la syntaxe. Ca ressemble à ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    GRANT [privileges] 
    TO [base].[table]  
    ON [user]
     
    (ex : GRANT ALL TO visiteur ON *.*)
    Tu auras tous les privileges sur toutes les tables de toutes les bases (un root).
    SInon, tu peux mettre tes privileges comme tu fais séparés par une virgule.
    Remarque, les noms des bases et des tables ne doivent pas etre entre cotes comme tu le fais.
    Tu peux rajouter les lignes optionnelles suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    IDENTIFIED BY [password]
    REQUIRE [option_ssl]
    WITH GRANT OPTION | [options_limits]
    le mot de passe doit etre entre des cotes (ex : 'password').
    je connais pas trop les options ssl (pour une connection via ssl sécurisée), tu n'en a pas donc le probleme est résolu.
    "with grant option;" ca veut dire que l'utilisateur peut se changer ses droits d'acces.
    Tu peux mettre derriere les options de limites :
    MAX_QUERIES_PER_HOUR n
    MAX_UPDATES_PER_HOUR n
    MAX_CONNECTIONS_PER_HOUR n
    n est une entier. Déja toi, tu as tout mis à zéro. Meme si la requete marche, ton utilisateur ne peut pas se connecter, ni faire de requete.
    Pour tes 2 derniers GRANT, tu as un problème de cotes pour les noms de tables et de bases.

    PS: tu dois avoir tes tables et tes bases créées aussi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gerer une erreur de script sur un DROP USER ou un REVOKE
    Par pcouas dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/10/2010, 09h29
  2. Réponses: 4
    Dernier message: 03/03/2010, 20h47
  3. Erreur sur script en attaquant une base mysql
    Par bilou95 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 09/10/2006, 15h58
  4. Erreur 1045 impossible de se connecter à mysql via un script
    Par julian-brokendolls dans le forum Installation
    Réponses: 7
    Dernier message: 05/01/2006, 04h23
  5. create user, affectation droits et scripts sql
    Par hirochirak dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/02/2004, 10h21

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