# Zugriff mittels JDBC funktioniert nur lokal



## krel (8. Sep 2007)

Habe mir ein Programm geschrieben, welches auf einer MySQL Datenbank arbeitet. Auf localhost kann ich mich ohne weiteres verbinden, aber wenn ich die Datenbank auf dem anderen Rechner benutze(im gleichen Netzwerk über Router) bekomm ich nur die Fehlermeldung:
Access denied for user 'root'@'192.168.0.2' (using password: YES)
Per PHP kann ich mich ohne weiteres mit dem MySQL-Server verbinden, Anfragen senden und alles. 
In Java stell ich die Verbindung folgendermaßen her:

```
Class.forName(mysqlDriver);
conn = DriverManager.getConnection("jdbc:mysql://"+host+":3306/"+database
                                                        ,user,pw);
```
In der User-Tabelle ist als Host "%" eingetragen und der Server lauscht auf seiner statisch vom DHCP vergebenen IP.  
Jemand ne Idee, woran es liegen könnte? hab sowohl den 5.0.4 und den 5.0.7 Connector benutzt bei beiden der gleiche Fehler.

mfg


----------



## tuxedo (8. Sep 2007)

Du musst den Datenbankserver so konfigurieren dass er nicht nur auf Localhost Verbindungen annimmt. Such mal hier im Forum, das Thema hatten wir bereits mehrfach. 

- Alex


----------



## HoaX (8. Sep 2007)

würde der server keine annehmen würde eine connection failed meldung kommen. in diesen fall scheint der fehler ehr bei den benutzerrechten zu liegen.


----------



## BarFooß (9. Sep 2007)

krel hat gesagt.:
			
		

> Per PHP kann ich mich ohne weiteres mit dem MySQL-Server verbinden, Anfragen senden und alles.


Laufen PHP (bzw. Apache) und MySQL auf dem gleichen Rechner? Dann wird der Zugriff wahrscheinlich auch über localhost laufen und das hat keinerlei Aussage.


----------



## krel (9. Sep 2007)

der Apache läuft sowohl auf meinem Laptop als auch auf dem Rechner zu dem ich mich gerne verbinden möchte, allerdings lasse ich das PHP-Skript von meinem Laptop aus laufen und gebe natürlich dort auch die Verbindungsdaten des Rechners an und nicht localhost!


> in diesen fall scheint der fehler ehr bei den benutzerrechten zu liegen.


Fehlen dem root-user etwa irgendwelche Rechte? 
Jemand noch ne weitere Idee, woran das ganze liegen könnte?

krel


----------



## krel (11. Sep 2007)

Problem hat sich gelöst 
War eigene Dummheit, lese das Passwort über nen JPasswordField ein und habe dort

```
password.getPassword().toString();
```
verwendet, was natürlich nicht funktionieren kann. Lokal hat das ganze funktioniert, weil ich dort kein Passwort vergeben habe...  

mfg Krel


----------

