Accès à une BD distante

CANDIDESPERAN - Modifié par CANDIDESPERAN le 23/09/2014 à 11:11
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 8 oct. 2014 à 09:20
Bonjour, j'ai réalisé une application qui va tourner sur un server,j'ai tout fait sur le local.Pour le test sur le server mis 2 ordi en reseau et dans la classe Connection j'ai remplacé le localhost par l'adresse IP de la machine qui heberge la base de donnée,mais ça ne marche.S'il y a d'autres possibilité les amis aidez-moi.Je rappele que l'application a été developpé sous netbeans avec Mysql comme SGBD.Merci

8 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
23 sept. 2014 à 11:56
Bonjour,

Dans ta chaine de connexion (à mysql) tu indiques non seulement le serveur ( chose que tu as bien capté...puisque tu as remplacé le localHost par l'IP) mais aussi un nom d'utilisateur et un mot de passe.

Par contre... il faut que l'utilisateur autorise les connexions distantes.
Par défaut...il n'autorise QUE les connexions "locales".
Il te faut donc modifier ton utilisateur (ou en créer un nouveau) en lui donnant les droits d'accès à distance.
http://dev.mysql.com/doc/refman/5.0/en/adding-users.html


0
CANDIDESPERAN
23 sept. 2014 à 12:14
Ok,je vais me mettre au boulot.Merci pour le coup de main
0
Stp jordane45 ,peux tu m'orienter sur le lien que
tu m'a donné,car il y a un as de truc par ici.Du coup je me perd.Voici ce que j'ai compris
{mysql> CREATE USER 'Utilisateur'@'%' IDENTIFIED BY 'mdp';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'Utilisateur'@'%'  WITH GRANT OPTION;}
mais cette partie et la suite me semble un peu flou  
{
mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> CREATE USER 'dummy'@'localhost';}


message édité pour ajouter les balises de code.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
23 sept. 2014 à 12:52
Il faut faire un grant du genre :
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';


PS:
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
CANDIDESPERAN
23 sept. 2014 à 15:15
ok j'ai bien,une fois encore m6 pour le coup de main.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
23 sept. 2014 à 15:19
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0
Bjr jordane45,je n'ai pu connecter mon application à la BD distante,alors que j'ai tout fait sauf erreur de ma part.J'ai crée un autre utilisateur à qui j'ai donné tout les droits,j'ai mes 2 ordis en reseaux et j'ai pris l'adresse IP de l'ordi qui heberge la BD,malheureusement que ça ne marche pas.Je ne sais pas si j'ai oublié un detail.Merci de m'aider.
J'ai fait
select * from mysql.user;
et les droits ont été accordé
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
25 sept. 2014 à 18:46
Donc ton User à accès en " % " ?
Et bien sûr.. tu as modifié ta chaine de connexion dans ton programme pour utiliser cet utilisateur là ?

Eventuellement... il faudrait que tu testes la connexion à la BDD directement depuis le PC distant (sans passer par ton appli....) pour voir si le USER est bon...
Tu peux éventuellement essayer avec un programme comme HeidiSql.
http://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oui mon user à accès en " % " ? et j'ai bien modifier la chaine de connexion.Je crois que tout marche,mais je vais tester
0
CANDIDESPERAN
25 sept. 2014 à 21:03
J'ai fait le test,je crois mon probleme n'ai lié aux requetes ,mais plutot la decouverte de la BD par mon application,c'est à dire une erreur de connexion à la BD
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
25 sept. 2014 à 22:02
Tu veux dire que tu parviens à te connecter à ta bdd depuis ton second pc avec heidisql ?
Si c'est le cas ton user est bon et donc ton souci se situe dans ton programme.
Peut être sur ta chaîne de connexion.
0
CANDIDESPERAN
25 sept. 2014 à 22:44
Sinon ça marche en local,mais je vais encore verifier dans le code.Je te remercie pour ta disponibilite.bonsoir
0
CANDIDESPERAN
27 sept. 2014 à 13:55
Bonjour jordane45,j'aimerais savoir s'il y a un truc à fait au niveau du pare-feu,comme ma connexion ne marche pas mon intuition me dit peut être qu'il y a quelque chose à faire
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
27 sept. 2014 à 14:11
On va reprendre depuis le début...

1 - Est-ce que tu parviens (avec HeidiSql par exemple) à te connecter à ta BDD depuis le pc distant ??
=> Si ça fonctionne.. le souci ne vient pas du user Mysql... mais peut être de ta chaine de connexion dans ton programme.
=> Si ça ne fonctionne pas.. tu as un souci de configuration (soit ton user mysql) soit un souci de type firewall par exemple.

2 -
,j'ai mes 2 ordis en reseaux
: Le même réseau (connecté au même routeur) ? ou tu passes par Internet ??
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
27 sept. 2014 à 14:15
Bonjour,

Il peut y avoir effectivement un problème au niveau pare-feu.
Mais attention : il faut que tes deux ordinateurs soient sur le même réseau local, si ça part sur internet il te faudra un nom de domaine pour accéder à ton adresse IP publique.

Il peut également y avoir un problème avec le port d'accès, l'adresse IP seule ne suffit pas.

Remarque : en Java on utilisera le plus souvent une DataSource JNDI configurée côté serveur, cela permet de modifier la base de données et/ou le serveur sans modifier le code Java.

Exemple sur un serveur Tomcat 7 : JNDI Datasource HOW-TO
0
CANDIDESPERAN
27 sept. 2014 à 14:31
non je ne passe sur l'internet,j'ai installé HeidiSql sur l'ordo qui heberge ma DB,donc la connexion avec HeidiSql se fait sur cet même pc,ou bien vc'est le contraire,je veux dire est ce que HeidiSql sera sur le pc qui abrite l'application pour pouvoir le connecter à la DB
0
CANDIDESPERAN
27 sept. 2014 à 14:36
voici l'erreur que j'ai dans mon application
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
27 sept. 2014 à 14:40
,j'ai installé HeidiSql sur l'ordo qui heberge ma DB
Ben.. ce que tu veux vérifier c'est EST-CE QUE JE PEUX ME CONNECTER A MA BDD DEPUIS MON PC DISTANT ........ donc c'est sur le PC DISTANT qu'il faut installer heidiSQL !!!
0
Rejoignez-nous