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 :

creer un user si il n'existe pas


Sujet :

Requêtes MySQL

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut creer un user si il n'existe pas
    Bonsoir,
    J'ai un script que je vais lancer plusieurs fois.
    dans ce script je cree des users, et bien sur la deuxieme fois je tombe en erreur
    le CREATE USER IF NO EXISTS ne semble pas exister ?
    Une idée ? Merci d'avance

    Philippe

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Pourquoi ne pas interroger au préalable le catalogue MySQL (colonne GRANTEE de la vue système INFORMATION_SCHEMA.USER_PRIVILEGES), pour voir si le nom d'utilisateur existe ou pas ?

    Il faut être au minimum en version 5.0 de MySQL pour avoir accès au catalogue.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut
    Bonjour,

    Un petit soucis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    IF((SELECT count(*) from information_schema.USER_PRIVILEGES where grantee like '%user1''@''l%')>0,CREATE USER 'user1'@'localhost' IDENTIFIED BY 'xx';
    GRANT ALL PRIVILEGES ON DB.* TO 'user1'@'localhost' WITH GRANT OPTION;,,)
    je lance la commande depuis un fichier .sql mysql -u root -p </tmp/ex.sql, c'est peut etre mon soucis ??
    Une idee ? Merci
    Phil

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    USE tst
    delimiter $$
    DROP PROCEDURE IF EXISTS simpleproc;
    CREATE PROCEDURE simpleproc()
    BEGIN
    DECLARE v_i INT;
    SELECT count(*) INTO v_i FROM information_schema.USER_PRIVILEGES where grantee like '%user1''@''l%';
    IF(v_i=0) THEN
    CREATE USER 'user1'@'localhost' IDENTIFIED BY 'xx';
    END IF;
    SELECT count(*) INTO v_i FROM mysql.user where user='user1' and host='%';
    IF(v_i=0) THEN
    CREATE USER 'user1'@'%' IDENTIFIED BY 'xx';
    END IF;
    END
    $$

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

Discussions similaires

  1. creer la bd s'il elle existe pas
    Par Esil2008 dans le forum Hibernate
    Réponses: 2
    Dernier message: 27/10/2008, 15h44
  2. Creer un dossier SI il n existe pas
    Par Slumpy dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/04/2007, 18h07
  3. Réponses: 3
    Dernier message: 30/05/2006, 17h39
  4. erreur : la table n'existe pas !!!
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/06/2005, 14h17
  5. Le membre de collection requis n'existe pas
    Par mschistozis dans le forum Access
    Réponses: 4
    Dernier message: 25/10/2004, 16h41

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