User-Tables: host=%

MySQL, PostgreSQL, SQLite
andi.brandl
Posts: 22
Joined: 2004-02-24 19:34

User-Tables: host=%

Post by andi.brandl » 2004-08-21 18:29

hallo zusammen.

ich bin gerade etwas erstaunt und irgendwie angepisst zugleich :)

Bis jetzt war ich der Meinung, dass ich einem User ermöglichen kann, von und über jeden Host auf die DB zuzugreifen, wenn ich die Host-Parameter auf "%" setze.

Jetzt ists z.B. so, dass postfix als Host meine Domaineingetragen hat, weil der chrooted läuft und somit nicht auf den Socket zugreifen kann, sondern über TCP reinkommt.

Soweit so gut, nur hab ich jetzt nach einem Reboot festgestellt, dass ich EXPLIZIT für "localhost" und "domain" je einen Eintrag anlegen muss, damit ich folgendes machen kann:

connect to "localhost"
connect to "domain"

und beide Male liegen die Scripte auf meinem Server.

Wenn ich mit Platzhalter ("host=%") arbeite, bekomme ich immer Access Denied for User... etc.

Wieso geht das nicht mit einem Eintrag und Platzhalter à la "%" ?

[war das jetzt total wirr?] :)

ego
Posts: 87
Joined: 2003-07-21 10:18

Re: User-Tables: host=%

Post by ego » 2004-08-26 08:50

Laß mich raten...

/etc/my.cnf

Code: Select all

skip-networking
...ist nicht auskommentiert?

andi.brandl
Posts: 22
Joined: 2004-02-24 19:34

Re: User-Tables: host=%

Post by andi.brandl » 2004-08-26 11:57

doch, ist auskommentiert. deswegen wunderts mich ja so.

ahoi
Posts: 20
Joined: 2004-02-12 21:31

Re: User-Tables: host=%

Post by ahoi » 2004-08-26 13:02

Laß weiter raten:

postfix soll mit dem mysql-Server über TPC/IP reden? Versuchmal mit "127.0.0.1" statt mit localhost den mysqld anzusprechen...

andi.brandl
Posts: 22
Joined: 2004-02-24 19:34

Re: User-Tables: host=%

Post by andi.brandl » 2004-08-26 13:29

ja, das ist mir auch klar.

vielleicht hab ichs wirklich zu wirr ausgedrückt.

das problem ist, dass ich den Platzhalter % in den Usertabellen nicht verwenden kann (z.B. bei Hosts), sondern explizit Datensätze für "localhost" und "domain" anlegen muss...

normalerweise sollte es doch so gehen, dass ich je EINEN Datensatz in user bzw. db anlege, in dem dann host=% steht. Dann müsste ich von jedem beliebigen Host auf die DB über dieses User/Pass Kombination zugreifen können.
ist aber nicht der fall.

stefanpropehan
Posts: 335
Joined: 2002-12-17 22:25
Location: Berlin

Re: User-Tables: host=%

Post by stefanpropehan » 2004-08-26 13:55

ich zitiere mal aus dem Datenbankhandbuch von http://www.little-idiot.de/mysql/
Wenn man nicht feststellen kann, weshalb weiterhin die Meldung Access denied... erzeugt wird, sollte man alle Hostnamen-Einträge die einen Wildcard (%< oder _) beinhalten aus der user- Tabelle entfernen. Oft geht man davon aus, daß man mittels des Eintrags Host=% und user=User die Möglichkeit hat, sich von dem lokalen Host (localhost) aus zu connecten. Der Grund, warum dies nicht funktioniert ist, daß der Eintrag host=localhost und user= vor dem Eintrag host=% und user=user bevorzugt wird! Um dies zu beheben sollte ein Eintrag host=localhost und user= user erstellt oder der Eintrag user= entfernt werden.
das sollte deine Frage beantworten :-D