Remote MYSQL will nicht

kevinp

kevinp

Aktives Mitglied
Thread Starter
Dabei seit
23.07.2008
Beiträge
220
Reaktionspunkte
8
Hallo!

Damit ich eine Internetseite lokal programmieren kann (mit ein paar Leuten zusammen) und mit ihnen zusammen eine Datenbank nutzen kann, habe ich die Datenbank für die Seite, welche online ist, freigegeben, sodass man von mir zum Beispiel drauf zugreifen kann.

Habe in der my.cnf des Servers den Eintrag "bind-adress" auskommentiert. Außerdem habe ich in der MySQL-Datenbank statt "localhost" den Host "%", also "jeder" eingetragen. Es klappt aber immernoch nicht.

Die Fehlermeldung die nun kommt ist folgende:

Code:
Datenkbank-Fehler:
Die Datenbank konnte nicht ausgewählt werden!

MySQL-Fehler:
Access denied for user 'Kevinsql8'@'%' to database 'Kevinsql8'

MySQL-Fehler-Nummer:
1044

Script:
/inet-service/index.php?seite=uebersicht

User und Passwort stimmen auf jeden Fall, hab das PW nochmal neu gesetzt bevor ichs probiert habe.
 
der User Kevinsql8 hat keine Rechte auf die DB Kevinsql8 wenn der User anders als via Localhost zugreift so wie es aussieht!

Versuch mal die Rechte in mysql.user so anzupassen das der User auch von anderen Rechnern aus auf die DB zugreifen darf! Die my.cnf reicht nicht, weil es auch innerhalb von SQL Zugriffsrechte gibt die durchaus auch vom Quellhost abhängig sein können!
 
weil es auch innerhalb von SQL Zugriffsrechte gibt die durchaus auch vom Quellhost abhängig sein können!

Ja, das weiß ich. Und wie oben beschrieben habe ich dies schon getan. Ich habe mich als root per phpmyadmin eingeloggt. Dort kann man auf "Rechte" klicken oder direkt in die Datenbank "mysql"-irgendwas gehen. Da sind die verschiedenen User drin und dort habe ich dem User Kevinsql8 so eingestellt, dass er von jedem Host aus ("%") zugreifen kann.
 
das hatte ich auch schon das das trotz flush-privileges nicht zum Ziel führte! In jedem Fall besagt die Fehlermeldung aber das das Problem genau dort liegt. Daher mein weiterer Tipp: explizit den Host zu benennen! Sprich nicht mit % arbeiten sondern den Host angeben!
 
Da das aber hauptsächlich ist, dass ich mich zwei Leuten gleichzeitig (einer Schweiz, einer DE) daran arbeiten kann und sich der Host (meine dyn IP) ja jede 5 Stunden ändert ist das keine besonders gute Lösung :/ Habs schonmal mit nem dyn DNS Host wie no-ip.biz versucht aber das funktioniert nicht. Das komische ist, dass wir zwei Server haben und es auf dem anderen wunderbar klappte, nur eben hier nicht :/
 
Hallo Kevinp,

ist den auch der entsprechende Port auf dem Server offen, oder wird der evtl. durch die Firewall geblockt? Der Port ist glaub ich 5306, bin jetzt aber grade zu faul das genau zu recherchieren.
Ich selbst hab schon mal einen direkten DB-Zugriff per DynDNS realisiert und das hat problemlos funktioniert.
 
Da sich der Dienst ja mit einer Fehlermeldung zurückmeldet, ist der Weg durch die Firewall frei.

MySQL-Fehler:
Access denied for user 'Kevinsql8'@'%' to database 'Kevinsql8'

Es kann aber trotzdem mehrere Gründe geben.

1) Der verwendete mysql-client unterstützt die Authentifizierung nicht.
Das kannst Du leicht checken indem Du in der User Tabelle der mysql DB die Funktion old_password() für die Passwordvergabe nutzt.

Code:
use mysql;
update User set password = old_password('geheim') where user = 'Kevinsql8';
flush privileges;

2) Dem Benutzer sind garkeine Datenbanken zugeordnet und gleichzeitig sind in der User Tabelle keine generellen Berechtigungen vergeben:
Code:
use mysql;
select * from Db where user='Kevinsql8';
Keine Ergebisse? Dann entweder einen Eintrag hinzufügen (beste Lösung) oder aber dem User generelle Berechtigungen geben:
Code:
use mysql;
update User set select_priv = 'Y' where user='Kevinsql8';
flush privileges;

Das wären erstmal die beiden Fehlerquellen, die mir am wahrscheinlichsten vorkommen.

Probier mal..
 
Also, die ersten beiden kann ich ausschließen. Wüsste grade nicht was der MYSQL Client ist, aber das müsste doch eigentlich der Apache sein wo meine Seite liegt, auf welcher die MYSQL Anfragen stehen, oder? Wäre dann XAMPP lokal auf meinem Mac. Neueste Version, welche das auf jeden Fall unterstützt (wie gesagt, klappt bei einer anderen Seite auch).
Dem User Kevinsql8 gehört die Datenbank Kevinsql8. :) Und die steht auch so zugewiesen in der user Datenbank drin.

Das letztere werde ich mal probieren, danke für die Vorschläge :)
 
Apache ist der Webserver. MySQL besteht aus einer Server- und einer Client-Anwendung. Beim XAMPP wirst Du allerdings eine recht neue MySQL-Version mit bei gehabt haben.
 
Zurück
Oben Unten