|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: May 2008
Città: Avellino
Messaggi: 37
|
[JAVA] Problema JDBC MySQL non su localhost
Ciao a tutti,
ho un problema a stabile una connessione ad un server MySQL tramite JDBC non presente sulla macchina locale. Per divertirmi un po' Ho virtualizzato due server Ubuntu (spesso usavo windows): sul primo, che ha come IP 192.168.56.101 c'è Tomcat 6 e sul secondo, con IP 192.168.56.102, c'è MySQL. Se può essere utile, ho virtualizzato il tutto con VirtualBox e configurato in modo che il pc host vede i server guest, ed entrambi i guest si vedono tra di loro (ho pingato la macchina 102 dalla 101 e viceversa con successo). Sul server tomcat ho una piccola applicazione JAVA ed il file context.xml che riporta la seguente configurazione JDBC in modo da utilizzare il MySQL presente sulla 102 (fin'ora ho sempre fatto prove con le classiche configurazioni che usano localhost): Codice:
<Resource name="jdbc/pbg_db" type="javax.sql.DataSource" removeAbandoned="true" removeAbandonedTimeout="30" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.56.102:3306/test?autoReconnect=true"/> Il problema: dalla macchina host mi collego all'applicazione presente sul server Tomcat (la macchina 101) dove compilo una form con dati che dovranno essere registrati sul DB presente sulla 102, ma quando effettuo la submit ricevo il seguente errore: Codice:
Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.) Dove sbaglio? Pensavo bastasse cambiare l'IP nel contex.xml invece di usare sempre localhost. Devo fare qualche altra cosa? Grazie mille. PS. Non so se l'errore potrebbe riguardare l'installazione di mysql-java-connector. Comunque ho messo il .jar nella cartella /usr/share/tomcat6/lib, dove sono presenti tutte le altre librerie così come facevo su windows. EDIT Ops.... ho rifatto una prova non so perché ma ora la 102 pinga la 101 ma non viceversa! D'oh!!! Mi sa che ora il messaggio va spostato, uff! Ultima modifica di NickTCR : 30-01-2012 alle 00:41. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Magari dico una stupidaggine ma mi sembra di ricordare che di default MySql accetta solo connessioni in localhost. Quindi devi andare a cambiare il file di configurazione... Ti dico mi sembra perchè l'ho utilizzato un paio di anni fa e non mi ricordo bene
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12861
|
Quote:
Quello che devi fare è andare nel my.cnf e controllare se è commentata la riga: Codice:
skip-networking Una volta che hai fatto questo e riavviato il server MySQL, il tuo utente deve avere i diritti per accedere da remoto. Ti conviene accedere da locale con il MySQL Workbench e modificare questi dettagli (compreso il file di configurazione). |
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: May 2008
Città: Avellino
Messaggi: 37
|
Scusate per il ritardo nella risposta, sono stato un po' impegnato a lavoro.
Comunque grazie a entrambi, si è risolto tutto Non ero a conoscenza di questi settaggi di MySQL (il problema del mancato ping era momentaneo, si vede che si era un po' inceppato VirtualBox). Grazie ancora, ciao, |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:22.




















