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 régulier
    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
    Points : 99
    Points
    99
    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 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 589
    Points : 19 474
    Points
    19 474
    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

  3. #3
    Membre régulier
    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
    Points : 99
    Points
    99
    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 éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 271
    Points : 13 536
    Points
    13 536
    Par défaut
    Bonjour

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

  5. #5
    Membre régulier
    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
    Points : 99
    Points
    99
    Par défaut
    il me demande à chaque fois de taper le mot de passe

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 271
    Points : 13 536
    Points
    13 536
    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