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

MySQL Discussion :

Connexion MySQL via PYTHON


Sujet :

MySQL

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2022
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2022
    Messages : 51
    Par défaut Connexion MySQL via PYTHON
    Bonjour,

    Je viens chercher de l'aide car j'ai déjà beaucoup cherché de mon coté avant de venir faire appel a la communauté.

    Suite à l'installation Python et les différents modules qui vont bien je suis arrivé au niveau de faire une connexion via mon script Python pour accéder à ma base de données mais ce n'est pas possible et je ne comprend pas du tout l'erreur. Je vais donc vous montrer mon code et l'erreur indiqué en espérant avoir une réponse pour me sortir de cela.

    Nom : Capture d’écran 2022-03-01 à 14.20.41.png
Affichages : 799
Taille : 151,9 KoNom : Capture d’écran 2022-03-01 à 14.20.08.png
Affichages : 762
Taille : 188,4 KoNom : Capture d’écran 2022-03-01 à 14.21.06.png
Affichages : 760
Taille : 94,5 KoNom : Capture d’écran 2022-03-02 à 14.15.05.png
Affichages : 755
Taille : 370,0 Ko

    Merci d'avance pour votre aide !

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 825
    Par défaut
    Salut AlexandreJcpn.

    Je comprends mieux ce que tu voulais faire.
    J'ai cru que tu désirais consulter la table "user" de la base "mysql".
    En fait, c'est ta table "users", dans ta base "flasksql".

    Tu ne dois pas utiliser le nom d'hôte 'localhost" pour accéder à PhpMyadmin.
    Dans Apache, tu dois déclarer un "VirtualHost".
    Voici un exemple à mettre dans le fichier httpd.conf d'apache :
    Code apache : 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
    17
    18
    19
    20
    # =========================== #
    #     PhpMyAdmin sans SSL     #
    # =========================== #
     
    <VirtualHost 127.0.0.2:80  fe80::2%1:80>
    	ServerName phpmyadmin
    	DocumentRoot "${PhpMyAdmin}"
    #
    	ErrorLog  "${repertoire}/Logs/phpmyadmin_error.log"
    	CustomLog "${repertoire}/Logs/phpmyadmin_custom.log" combinedio
    #
    	<Directory />
    		Options -Indexes +FollowSymLinks +MultiViews
    		AllowOverride none
    #		Require local
    	</Directory>
    </VirtualHost>
    #
    	php_value default_charset none
    #
    J'ai fait l'association de l'adresse ip 127.0.0.2 à au nom de site "phpmyadmin".
    De même, dans ton fichier "hosts", tu dois faire l'association "127.0.0.2" avec "phpmyadmin".
    Pour accéder à phpmyadmin, tu devras mettre "https://phpmyadmin" et c'est tout.

    Le message d'erreur stipule que tu ne peux pas te connecter à ton serveur MySql avec l'hôte "localhost" et le port "3306".
    Regardes la documentation MySql pour la connexion en python.

    En premier lieu, on ne se connecte pas avec l'utilisateur "root". Il n'est pas fait pour cela.

    Je suppose que ton serveur MySql se trouve sur le même ordinateur où tu testes ton script Python.

    Dans ton script, ne faudrait-il pas écrire "db = mysql.connector.connect(" ?
    Ne pas oublier de tester la connexion à ta base de données, ce que tu ne fait pas dans ton exemple.
    Voici un exemple de script Python qui accède au serveur MySql.

    As-tu bien defini le port "3306" pour le serveur mysql ?

    Cordialement.
    Artemus24.
    @+

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2022
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2022
    Messages : 51
    Par défaut
    Bonjour,

    Oui, je veux juste me connecter à la BDD via Python.
    Je ne comprend pas vraiment ce que vous voulez dire, je ne peux pas ouvrir se fichier la.

    Je vais donc regarder la documentation que vous m'avez transmis et je reviendrai vers vous.

    Merci quand même pour votre aide.

    Cordialement,

  4. #4
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 825
    Par défaut
    Salut AlexandreJcpn.

    Une bonne configuration de votre serveur WEB, même en local, est d'utiliser des VirtualHost.
    Ceci permet d'accéder à vos ressources, comme "phpmyadlin", en tapant autre chose qu'une adresse IP ou un nom d'hôte.
    C'est quand même plus simple de mettre dans la barre des adresses de votre navigateur "https://phpmyadmin" que de taper le long chemin que j'ai vu dans vos pièces jointes, celle commençant par "https://localhost:5000/...".

    C'est secondaire par rapport à votre problème de connexion à votre serveur MySql.

    Cordialement.
    Artemus24.
    @+

  5. #5
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    @AlexandreJcpn
    Pour faire connecter, la mannière de le faire peut avoir un peu de différence ici ou là selon le framework qu'on se place.
    Pour flask, on doit y avoir flash_mysqldb prêt (pip install flash_mysqldb, par exemple.)
    Et puis, la façon de passer les paramètres est fait différament aussi.
    Code python : 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
    17
    18
    19
    20
    21
    22
    23
    24
    from flask import Flask
    from flask_mysqldb import MySQL
     
    app=Flask(__name__)
     
    app.config['MYSQL_USER']='root'
    app.config['MYSQL_PASSWORD']='root'
    app.config['MYSQL_DB']='flasksql'
    app.config['MYSQL_HOST']='localhost'
     
    mysql = MySQL(app)
     
    #etc etc...
     
    #from mysql import connector    #enlevé
     
    @app.route('/retoursql')
    def routeRetourSql():
        ma_bdd=mysql.connection.cursor()
        req_users="SELECT * FROM users"
        #etc etc...
        return ligne_a_retourner
     
    #etc etc...

    Comme ça, on devrait y arriver ...

  6. #6
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 45
    Par défaut
    Voici comment je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import mysql.connector
    conn = mysql.connector.connect(host="_IP_HOST_", user="_LE_USER_", password="_LE_PASSWD_", database="_LA_DATABASE_");

Discussions similaires

  1. Connexion à MySql via l'api JDM
    Par plop5 dans le forum JDBC
    Réponses: 6
    Dernier message: 22/06/2010, 17h37
  2. Connexion à MySQL via SSH
    Par arnaud_verlaine dans le forum WinDev
    Réponses: 0
    Dernier message: 18/04/2008, 15h21
  3. [MySQL 5] lenteur de connexion à mysql via vpn
    Par the_senti dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/03/2008, 09h23
  4. Connexion MySQL via SSH
    Par arnaud_verlaine dans le forum Installation
    Réponses: 4
    Dernier message: 03/03/2008, 11h14
  5. [JDBC] Problème connexion Mysql via Netbeans
    Par link182 dans le forum JDBC
    Réponses: 6
    Dernier message: 02/08/2006, 11h09

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