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 à une base de donnée MySQL de WAMPSERVER à partir d'un réseau local sur d'autres ordinateurs


Sujet :

MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mars 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2023
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Connexion à une base de donnée MySQL de WAMPSERVER à partir d'un réseau local sur d'autres ordinateurs
    Bonjour chers tous,
    J'ai installé WAMPSERVER sur une machine de mon réseau local. J'ai créé une base de données MySQL à partir de phpMyAdmin.
    J'ai conçu une application java qui se connecte en localhost (à partir d'une interface graphique) à la base de données sur la machine où est installé wampserver.
    Mais. j'aimerais pouvoir accéder à cette même base de données depuis un autre ordinateur sur le même réseau local.
    Comment faire s'il vous plait?
    Cordialement.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 219
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 219
    Points : 8 455
    Points
    8 455
    Billets dans le blog
    17
    Par défaut
    Il faudra créer un utilisateur avec les droits en conséquence.

    Ex.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE USER 'app_client'@'192.168.0.%' IDENTIFIED BY 'p455W0rD!!';
    Ici l'utilisateur app_client pourra se connecter au serveur depuis une IP 192.168.0.*

    https://dev.mysql.com/doc/refman/8.0...unt-names.html
    https://dev.mysql.com/doc/refman/8.0...eate-user.html

    Pour l'attribution des droits sur les bases/tables voir GRANT => https://dev.mysql.com/doc/refman/8.0/en/grant.html

  3. #3
    Candidat au Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mars 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2023
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup! Je vais essayer.

  4. #4
    Candidat au Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mars 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2023
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Mais est-ce que je dois modifier ma class de connexion à la basse de données pour l'accès aux postes clients?
    Voici le code java de la class de connexion pour le poste local où est installé WampServer avec la basse de données:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public class Connecteur {
     
        String urlPilote = "com.mysql.jdbc.Driver"; // Chemin pour charger le pilote
        String urlBaseDonnees = "jdbc:mysql://localhost:3306/nom_de_bd";// Chemin de connexion à la base de données
        Connection con;
     
        public Connecteur(){
     
            // Chargement de notre pilote
            try{
                Class.forName(urlPilote);
                System.out.println("Chargement du pilote réussie");
     
            }
            catch(ClassNotFoundException ex){
               System.out.println(ex);
            }
            // Connexion à la base de données
            try{
                con = DriverManager.getConnection(urlBaseDonnees,"root","password");
                System.out.println("Connexion à la base de données réussie");
            }
            catch(SQLException ex){
            System.out.println(ex);
        }
       }
        Connection ObtenirConnexion(){
            return con;
     
        }
     
     
    }

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 219
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 219
    Points : 8 455
    Points
    8 455
    Billets dans le blog
    17
    Par défaut
    Cela va se jouer ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     con = DriverManager.getConnection(urlBaseDonnees,"root","password");
    Ici tu te connectes avec l'utilisateur "root" (pas une bonne idée).

    Il faut créer un utilisateur MySQL avec les droits adaptés au besoin (vu plus haut) et se connecter avec ce dernier.

  6. #6
    Candidat au Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mars 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2023
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Salut,
    Merci pour votre aide si précieux. J'ai créé un utilisateur 'client_dist' avec son mot de passe. Mais quand j'essaie d'accéder à la base de données à partir de l'interface de connexion de phpMyAdmin, je reçois ce message d'erreur:
    "(HY000/1045): Accès refusé pour l'utilisateur 'client_dist'@'@localhost' (mot de passe: OUI).

    Je ne comprends pas trop. Que dois-je faire? Merci

  7. #7
    Candidat au Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mars 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2023
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Voici comment j'ai créé l'utilisateur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE USER 'client_dist'@'192.168.43.%' IDENTIFIED BY 'clientdis@2023';
    GRANT ALL PRIVILEGES ON *.* TO 'client_dist'@'192.168.43.%';
    Où l'adresse IP de la machine distante sur le réseau local est : 192.168.43.43

  8. #8
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 677
    Points
    39 677
    Billets dans le blog
    9
    Par défaut
    @amoikon71 : votre profil mentionne "directeur des systèmes d'information", vous devez donc savoir que mentionner une adresse IP, avec un code utilisateur et un mot de passe est le meilleur moyen de se faire pirater !
    Encore plus quand l'utilisateur en question a des droits administrateur sur tous les objets de la base
    C'est la raison pour laquelle j'ai modifié votre précédente réponse, merci d'être vigilant sur ce point, c'est votre intérêt...

  9. #9
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 452
    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 452
    Points : 19 399
    Points
    19 399
    Par défaut
    Salut à tous.

    Citation Envoyé par amoikon71
    J'aimerais pouvoir accéder à cette même base de données depuis un autre ordinateur sur le même réseau local.
    Par réseau local, vous devez vous trouver sur la même branche que votre serveur MySql.
    Autrement dit, vous ne passez pas au travers d'un routeur pour y accéder.

    L'hôte est l'adresse ip local (192.18.1.x) de votre serveur MySql.

    Citation Envoyé par Séb.
    Il faudra créer un utilisateur avec les droits en conséquence.
    Oui, je veux bien, mais nous ne connaissons pas la version MySql utilisée.
    Si c'est comme chez moi, la version 8.0.32, les mots de passe ne se déclare pas ainsi.
    Voici un exemple pour créer un compte dans MySql :
    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DROP   USER  IF EXISTS                            'votre_database'@'%';
    CREATE USER                                       'votre_database'@'%'  IDENTIFIED WITH caching_sha2_password BY 'votre_password';
    GRANT  ALL PRIVILEGES   ON `votre_database`.* TO  'votre_database'@'%'  WITH GRANT OPTION;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    con = DriverManager.getConnection(HOST,USERID,PASSWORD);
    Le "HOST" correspond à l'adresse IPv4 de votre serveur MySql.
    Le "USERID" est le nom de votre compte que vous avez créé dans MySql.
    Le "PASSWORD" est celui que vous avez défini lors de la création de votre compte MySql. C'est "votre_password".

    Citation Envoyé par amoikon71
    Je ne comprends pas trop. Que dois-je faire? Merci
    Faites attention à l'écriture de votre mot de passe. Pas d'accent.

    Quand vous avez créé votre compte, avez-vous respecté les normes de codification des mots de passe ?
    Dans le fichier "my.ini", vous devez définir l'encodage des mots de passe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    default-authentication-plugin  = caching_sha2_password
    default-password-lifetime      = 0
    disconnect-on-expired-password = 0
    Cordialement.
    Artemus24.
    @+

  10. #10
    Candidat au Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mars 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2023
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Je voudrais signifier que j'utilise MySQL version 5.7.36 de wampserver 3.2.6

  11. #11
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 452
    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 452
    Points : 19 399
    Points
    19 399
    Par défaut
    Salut amoikon71.

    Citation Envoyé par amoikon71
    Je ne comprends pas trop. Que dois-je faire? Merci
    Le paramétrage pour accéder à PhpMyAdmmin se trouve dans le fichier "config.inc.php".
    L'utilitaire PhpMyAdmin est en principe fait pour accéder localement pas à distance pour des questions de sécurités.

    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    (HY000/1045): Accès refusé pour l'utilisateur 'client_dist'@'@localhost' (mot de passe: OUI)
    L'hôte est "localhost" car vous vous êtes connectés en local.

    Si vous désirez tester l'accès faites le sur un script php qui accède à votre base de données et lit juste le contenu d'une table.

    Citation Envoyé par amoikon71
    Je voudrais signifier que j'utilise MySQL version 5.7.36
    Vous êtes encore dans une vieille version de MySql.

    Pour créer votre compte dans mysql, appliquez ceci :
    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DROP   USER  IF EXISTS                                       'client_dist'@'%';
    CREATE USER                                                  'client_dist'@'%'  IDENTIFIED BY 'votre_mot_de_passe';
    GRANT  USAGE                          ON             *.* TO  'client_dist'@'%';
    GRANT  SELECT, INSERT, UPDATE, DELETE ON  `votre_base`.* TO  'client_dist'@'%';
    Quelques remarques :

    a) il est inutile de préciser l'hôte distant pour l'instant car vous faites des tests.
    J'ai mis "%" qui signifie tout le monde. Pour les tests, c'est largement suffisant.
    Ne mettez pas une url comme "localhost" ou "votre_site.com" car les temps d'accès seront plus grands.
    Mettez une adresse IPv4, comme 192.168.43.43'.

    b) votre compte se nomme "client_dist".

    c) le mot de passe est "votre_mot_de_passe".

    d) la base est "votre_base".

    e) le port est "3306".

    f) pour des questions de sécurités, ne donnez pas à votre nouveau compte tous les privilèges, mais juste ceux pour manipuler vos données.

    Ne pas oublier d'ouvrir l'accès de votre hôte distant dans le pare-feu de votre serveur Web.

    Cordialement.
    Artemus24.
    @+

  12. #12
    Candidat au Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mars 2023
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2023
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Salut Artemus24,

    Merci pour votre aide si précieux pour un débutant en MySQL que je suis.
    Comment ouvrir l'accès de mon hôte distant dans le pare-feu de mon serveur Web que tu as mentionné dans les remarques ?

    Cordialement.

  13. #13
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 452
    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 452
    Points : 19 399
    Points
    19 399
    Par défaut
    Salut Amoikon71.

    Avant de modifier le pare-feu, au cas où il y aurait un blocage, vous devez vérifier l'accès.
    Depuis l'ordinateur client, vous tapez un "ping" vers l'adresse IP de votre serveur WEB.

    Cordialement.
    Artemus24.
    @+

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/06/2022, 18h11
  2. Réponses: 1
    Dernier message: 19/07/2007, 21h09
  3. Problème de connexion à une base de donnée MySQL
    Par casho dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/06/2007, 14h04
  4. connexion à une base de données mysql depuis c++
    Par btissama4 dans le forum C++
    Réponses: 4
    Dernier message: 16/02/2007, 11h55
  5. Connexion à une base de données mysql via access
    Par eautret dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2006, 10h02

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