# [JDBC][MYSQL] Access denied



## Zipity (30. Mai 2018)

Schönen guten Tag, 

ich probiere nun schon etwas länger mein Problem zu lösen und komme einfach nicht auf die Lösung. Wenn ich versuche Daten aus der Datenbank aus zu lesen erhalte ich immer folgende Fehlermeldung: 
java.sql.SQLException: Access denied for user 'username'@'ip vom raspberrypi'

Daraufhin habe ich nartürlich gesucht, aber immer wieder den gleichen Befehl gefunden, der mein Problem lösen soll, was er aber nicht tat: 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%password%' WITH GRANT OPTION;

Hat jemand eine Idee?

Ich bin noch neu im Forum und weiß nicht, was ich immer alles mit posten soll, zum Beipsiel den Code, etc, also einfach bescheid sagen  ^^

Eine Frage noch, denn es kann auch daran liegen. Ich muss die Datenbank angeben und nicht den Table, oder?

Gruss Zipity


----------



## Dukel (30. Mai 2018)

Du greifst über das Netz zu vergibst aber rechte für localhost.
Außerdem kommt ein access denied für "username" und du vergibst die Rechte für "root".


----------



## Zipity (30. Mai 2018)

Vielen Dank für die Antwort.

Ich hätte erwähnen sollen, dass ich den Code angepasst habe und die Rechte nicht an Root vergeben habe und auch die IP von meinem Raspberry verwendet habe. Mein Fehler...


----------



## Dukel (30. Mai 2018)

Wenn ein Access denied kommt stimmt aber an den Rechten etwas nicht. Nutzt du z.B. die Hostnamen / fqdn statt der IP?
Hast du den Zugriff mit einem beliebigen SQL Client versucht statt dem Java Programm?
Sprich gleiche Maschine und gleicher User / Passwort mit z.B. https://www.heidisql.com/


----------



## Zipity (30. Mai 2018)

Nein, ich benutze die IP, die ich meinem Raspberry zugewiesen habe (so wie es in der Firtzbox steht). Ich habe es mit dem Programm versucht, welches Sie hier gepostet haben und ich erhalte die selbe Fehlermeldung. 

Ich habe eine Frage, in meiner Fritzbox habe ich einen anderen Port für den Raspberry angegeben, als in der Connection, wenn das hier der richtige Befehl ist: jdbc:mysql://iport/DBName
Kann das damit zusammenhängen, muss ich die Ports aneinander anpassen?


----------



## JuKu (30. Mai 2018)

Vermutlich hast du gar keinen User für den Host "%" ("%" = alle IPs) oder für deine spezifische IP.
Externe Verbindungen (außerhalb localhost) werden standardmäßig immer geblockt.


----------



## Dukel (30. Mai 2018)

Wenn die IP oder Port nicht stimmen würde würde ein anderer Fehler wie Access denied kommen.
Hier ist Username, Passwort oder zugewiesener Host falsch.
Versuche es einmal mit % wie von JuKu vorgeschlagen.


----------



## Zipity (31. Mai 2018)

Vielen Dank für die Tipps konnte es jetzt lösen @Dukel und @JuKu! Habe nach % gesucht und bin auf folgende Website gestoßen: http://linuxdenken.de/externen-mysql-zugriff-einrichten/
Damit konnte ich mein Problem lösen :3

Euch noch einen schönen Tag ^^


----------

