mySQL + Java = Access Denied ?

RetroX

Registered User
Hallo,
ich versuche momentan verzweifelt mit einem Java-Prog auf meine sql-db zuzugreifen. mit einem php-testskript kann ich ganz normal auf die Tabelle zugreifen, aber java sagt "access denied für user ...". Das Programm läuft direkt auf dem Server, Benutzername etc hab ich schon 100x überprüft, eine andere Datenbank auf nem anderen Server kann ich mit dem Programm auch connecten, nur auf die lokale komm ich einfach nicht.

Hat da jemand nen Tip? Bin langsam am verzweifeln.
 
Hat sich erledigt.
Musste dem verwendeten User Zugriffsrechte von Aussen geben, auch wenn alles aufm localhost läuft. Keine Ahnung wieso sich java so verhält oder ob man das anders machen könnte. Jedenfalls gehts.
 
Hallo,

habe das selbe Problem, weiß jedoch nicht, wie ich die Zugriffsrechte setze. Kann mir da jemand weiterhelfen?

MfG

Burningwave
 
Entweder als Root in PhpMyAdmin (wenn du das hast) oder per mysql auf der Konsole.

Wie du die Rechte setzen musst, kannst du aus der Dokumentation von MySQL entnehmen.

PS: Dieser Thread ist schon einige Monate alt :confused:
 
unter der einstellung "rechte" besitzt jedoch jeder user alle rechte... wie kann ich denn für einzelne applikationen die rechte verteilen?

MfG

Flip
 
Welchen Fehler bekommst du denn überhaupt? Was sagen die Logs dazu?

PS: Boardregeln beachten (Punkt 3) - sonst werden die Mods sauer :D
 
Java gibt folgendes aus:

Code:
SQLException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:283)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2541)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1474)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:264)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at Sql.CheckConnection(Sql.java:7)
	at Sql.query(Sql.java:40)
	at Sql.lade_daten(Sql.java:31)
	at s_Out.pa(s_Out.java:168)
	at s_Out.run(s_Out.java:34)


** END NESTED EXCEPTION **



Last packet sent to the server was 32 ms ago.

Das wiederum lässt mich doch darauf schließen, dass Java keine Rechte hat, auf die MySql Datenbak zuzugreifen, oder?
 
Es sieht so aus als würde dein SQL Server gar nicht laufen -> Connection Refused. Kannst du denn außerhalb deines Programms auf den MySQL Server zugreifen? Hast du die Rechte überprüft (siehe MySQL Dokumentation)?
 
Das wiederum lässt mich doch darauf schließen, dass Java keine Rechte hat, auf die MySql Datenbak zuzugreifen, oder?

Nein.
Zu dem Zeitpunkt hat eine Authentifizierung noch nicht stattgefunden, Probleme mit Berechtigungen in der db-engine kaemen wenn dann spaeter.
Rueck mal Informationen raus
- Mit welchen Parametern (connection-string) willst Du die Connection aufbauen?
- Wo lauscht Dein MySQL Server ueberall (Unix-Sockets oder auch TCP/IP, dort nur localhost?)
- Gibt es Unterschiede beim Vergleich der Verbindungsdaten zwischen der Java-Anwendung und PHP?

etc.p.p. ;)

Ciao,
Mercy.
 
Ich kann mich dabei nur auf die Fehlermeldung verlassen, da ich keine Einblicke in das java-script habe (ne Chat-engine).
Unterschiede zur Connection mit php soll es allerdingst nicht geben. Wie das mit den Mysql server aussieht kann ich dir nich sagen, ich kenn mich damit leider kaum aus, bin ziemlicher anfänger auf dem Gebiet.


MfG
 
Naja
Wie das mit den Mysql server aussieht kann ich dir nich sagen, ich kenn mich damit leider kaum aus,
Tja und da ich mich nun leider nicht auf Deinem System umsehen kann, zumal das kenne ich leider nicht ...
bin ziemlicher anfänger auf dem Gebiet.
Dem Manne kann geholfen werden :
MySQL AB :: MySQL Documentation
(dort zuerst das Referenzhandbuch Kapitel 5 und 5.9 -> MySQL 5.1 Referenzhandbuch :: 5 Datenbankverwaltung )
btw. ggfs. musst Du natuerlich in der Dokumentation fuer Deine MySQL Version nachsehn!
Sollten konkrete Verstaendnisprobleme oder aehnliches auftreten koennen diese sicher auch hier bearbeitet werden (aber nicht in diesem Thread, da sind wir weit genug vom Thema abgekommen).

Ich kann mich dabei nur auf die Fehlermeldung verlassen,
Da steht was von "connection refused", nicht von "access denied" <mit_dem_originaeren_Threadthema_wink> hat also nichts mit Berechtigungen in der db-engine zu tun, auf die Fehlermeldung ist schon Verlass, deshalb freuen wir uns auch immer, wenn man die erst nach 5 posts zu sehen bekommt. ;)
da ich keine Einblicke in das java-script habe (ne Chat-engine).
Jetzt allerdings habe ich gar keine Vorstellung mehr davon, um was es hier geht; Erst heisst es "Java ..." nun "java-script ...", es waere sicher hilfreich wenn Du uns Gelegenheit geben wuerdest selbst nach zu sehen, was das da ist was Du betreiben willst, sagen wir mit einem link auf die (Projekt-)home-page, die Dokumentation, Installationsanleitung oder Download.
Unterschiede zur Connection mit php soll es allerdingst nicht geben.
Da solltest Du knowhow aufbauen, Du bist der Einzige der sich auf Deinem System umsehen kann, Du bist derjenige der das "Ding" installiert und konfiguriert hat, Du bist der Einzige, der sagen kann, was da wie konfiguriert ist.
Ich kann dazu nur bescheiden das hier beisteuern, das erklaert welche Parameter von der in der Fehlermeldung genannten Klasse (Danke uebrigens fuer den kompletten Stack-Trace) angenommen werden, wenn nicht explizit andere gesetzt werden:
MySQL 5.1 Referenzhandbuch :: 25.3.4.1 Driver/Datasource-Klassennamen, URL-Syntax und Konfigurationseigenschaften für Connector/J]MySQL 5.1 Referenzhandbuch :: 5 Datenbankverwaltung

So long,
Mercy.
 
Back
Top