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

Shell et commandes GNU Discussion :

Connexion au MySQL et Insertion des données via script bash


Sujet :

Shell et commandes GNU

  1. #1
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 52
    Par défaut Connexion au MySQL et Insertion des données via script bash
    Bonjour

    J'ai un issue avec un script, permettant de se connecter et interroger une base de donnée , au sein d'un serveur mysql local

    voici le script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    hote_db="A.B.C.D"
        login_db="root"
        pass_bd="mot-de-passe-a-changer"
        colonne="id, name"
        nom_bd="test"
        nom_table="user"
    mysql -p'$pass_bd' -D'$nom_bd' "INSERT INTO '$nom_table' (id,name) VALUES (3,'KO')"
    l'erreur est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


    je peux accèder au ligne de commande via mysql -p en tapant le meme mot de passe

    Merci

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 636
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 636
    Par défaut
    il n'y a pas de développement des variables entre apostrophes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var=abc
    echo "$var"
    abc
    echo '$var'
    $var
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 52
    Par défaut
    J'ai pu connecter au base de donnée

    mon sousis est ci-dessous:

    j'ai une condition tant que , qui permet deparcourir un fichier texte et récupper des donnèés via une requete sql selon la ligne de fichier de text et le mettre dans un autre fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while read line
    do
      var=$line;
      id=0
      mysql -p$pass_db -D $nom_bd -e "set @Var:=(select id from user where name='$line'); select @Var;" 
      echo "${id}" >> iduser.txt
    done < lastname.txt
    donc je serai à chque fois inviter taper le mot de passe

    existe-il une méthode silencieuse pour effecuter cette tache ??

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 283
    Par défaut
    Bonjour

    En quoi le script présenté n'est-il pas silencieux ?

  5. #5
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2013
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 52
    Par défaut
    il me demande à chaque fois de taper le mot de passe

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 283
    Par défaut
    Essaie de protéger les variables avec des "doubles quotes".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql -p"$pass_db" -D "$nom_bd" -e "set @Var:=(select id from user where name='$line'); select @Var;"
    Si ton mot de passe commence par un espace, le comportement est normal sans protection.


    Autre remarque : généralement, on spécifie utilisateur et not de passe.
    Or ta commande ne spécifie qu'un mot de passe.
    C'est étrange.

Discussions similaires

  1. [MySQL] insertion des données dans une base de donnée mysql via un formulaire
    Par ketauguy dans le forum PHP & Base de données
    Réponses: 28
    Dernier message: 12/03/2018, 11h31
  2. Insertion des données via le FormView
    Par beaudelaire dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/04/2012, 14h32
  3. Réponses: 1
    Dernier message: 26/09/2010, 00h25
  4. Insertion des données dans une table mysql
    Par joulive dans le forum ASP
    Réponses: 6
    Dernier message: 15/04/2010, 20h55
  5. [C#] problème avec l'insertion des données dans MySQL
    Par madica dans le forum Accès aux données
    Réponses: 7
    Dernier message: 08/11/2005, 13h27

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