Privileges Frage

Privileges Frage

am 30.09.2007 21:09:40 von Kay Schulz

Hallo zusammen,

ich will von meinem Notebook auf eine MySQL DB auf einem anderen Rechner
zugreifen.

Also habe ich in der MYSQL DB gesagt:
GRANT ALL on *.* TO 'MYUSER'@'IP_OF_NOTE';
flush privileges;

Dann habe ich vom Note aus gesagt:
mysql -t -hIP_OF_MYSQLHOST -uMYUSER -pPASS_OF_MYUSER MYDB

Leider bekomme ich ein
ERROR 1045 (28000): Access denied for user 'MYUSER'@'IP_OF_NOTE' (using
password: YES)

Was mache ich falsch?

Kay

Re: Privileges Frage

am 01.10.2007 03:10:25 von B.Steinbrink

On Sun, 30 Sep 2007 21:09:40 +0200, Kay Schulz wrote:

> Hallo zusammen,
>
> ich will von meinem Notebook auf eine MySQL DB auf einem anderen Rechner
> zugreifen.
>
> Also habe ich in der MYSQL DB gesagt: GRANT ALL on *.* TO
> 'MYUSER'@'IP_OF_NOTE'; flush privileges;
>
> Dann habe ich vom Note aus gesagt:
> mysql -t -hIP_OF_MYSQLHOST -uMYUSER -pPASS_OF_MYUSER MYDB
>
> Leider bekomme ich ein
> ERROR 1045 (28000): Access denied for user 'MYUSER'@'IP_OF_NOTE' (using
> password: YES)
>
> Was mache ich falsch?

Versuchs mal ohne "-p...". 'user'@'localhost', 'user'@'xx.yy.zz.aa' und
'user'@'%' sind alles verschiedene Benutzer, für die auch separat
Passwörter gesetzt werden müssen.

Björn

Re: Privileges Frage

am 01.10.2007 08:30:47 von Claus Reibenstein

Kay Schulz schrieb:

> ich will von meinem Notebook auf eine MySQL DB auf einem anderen Rechner
> zugreifen.
>
> Also habe ich in der MYSQL DB gesagt:
> GRANT ALL on *.* TO 'MYUSER'@'IP_OF_NOTE';
> flush privileges;
>
> Dann habe ich vom Note aus gesagt:
> mysql -t -hIP_OF_MYSQLHOST -uMYUSER -pPASS_OF_MYUSER MYDB
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Hast Du 'MYUSER'@'IP_OF_NOTE' denn ein Passwort zugewiesen?

Gruß. Claus

Re: Privileges Frage

am 02.10.2007 21:35:55 von Kay Schulz

>
> Versuchs mal ohne "-p...". 'user'@'localhost', 'user'@'xx.yy.zz.aa' und
> 'user'@'%' sind alles verschiedene Benutzer, für die auch separat
> Passwörter gesetzt werden müssen.
>
> Björn
Hallo Björn,

danke für die schnelle Antwort.
Ich habe jetzt das -p weggelassen.
Und es geht.
Ohne passwort Eingabe.
Das finde ich ein wenig komisch.
mysql --prompt "XXX>" -t -hMY_IP -uUSER

Auf dem mysql Server habe ich verschiedene user für die verschiedenen
Hosts definiert.
Wenn ich use mysql sage select host, user, password from user, bekomme
ich u.a.:
+--------------+------+------------------------------------- ------+
| host | user | password |
+--------------+------+------------------------------------- ------+
| localhost | root | HAT PASSWORT |
| localhost | MY_USER | HAT PASSWORT |
| % | MY_USER | HAT PASSWORT |
| MY_IP | MY_USER | |
+--------------+------+------------------------------------- ------+

Jetzt ist klar wieso es ohne passwort geht.
Danke
Was aber ist das %? Brauche ich das?
Oder ist mir da ein Fehler unterlaufen?

Kay

Re: Privileges Frage

am 02.10.2007 23:38:46 von Claus Reibenstein

Kay Schulz schrieb:

> +--------------+------+------------------------------------- ------+
> | host | user | password |
> +--------------+------+------------------------------------- ------+
> | % | MY_USER | HAT PASSWORT |
> +--------------+------+------------------------------------- ------+
>
> Was aber ist das %?

% in der host-Spalte bedeutet: alle Hosts.

Gruß. Claus

Re: Privileges Frage

am 04.10.2007 08:45:13 von Kai Ruhnau

Claus Reibenstein schrieb:
> Kay Schulz schrieb:
>
>> +--------------+------+------------------------------------- ------+
>> | host | user | password |
>> +--------------+------+------------------------------------- ------+
>> | % | MY_USER | HAT PASSWORT |
>> +--------------+------+------------------------------------- ------+
>>
>> Was aber ist das %?
>
> % in der host-Spalte bedeutet: alle Hosts.

.... bis auf localhost

Grüße
Kai

Re: Privileges Frage

am 04.10.2007 08:55:45 von Claus Reibenstein

Kai Ruhnau schrieb:

> Claus Reibenstein schrieb:
>
>> % in der host-Spalte bedeutet: alle Hosts.
>
> .... bis auf localhost

Sicher?

Gruß. Claus

Re: Privileges Frage

am 04.10.2007 09:27:40 von Christian Kirsch

Am 04.10.2007 08:55 schrieb Claus Reibenstein:
> Kai Ruhnau schrieb:
>
>> Claus Reibenstein schrieb:
>>
>>> % in der host-Spalte bedeutet: alle Hosts.
>> .... bis auf localhost
>
> Sicher?
>

Ja.

--
Christian

Re: Privileges Frage

am 04.10.2007 09:48:32 von Claus Reibenstein

Christian Kirsch schrieb:

> Am 04.10.2007 08:55 schrieb Claus Reibenstein:
>
>> Kai Ruhnau schrieb:
>>
>>> Claus Reibenstein schrieb:
>>>
>>>> % in der host-Spalte bedeutet: alle Hosts.
>>>
>>> .... bis auf localhost
>>
>> Sicher?
>
> Ja.

Dann nenne mir bitte die Stelle im Handbuch, wo diese Einschränkung
beschrieben wird. Ich habe nichts dergleichen finden können.

Gruß. Claus

Re: Privileges Frage

am 04.10.2007 11:01:06 von Christian Kirsch

Am 04.10.2007 09:48 schrieb Claus Reibenstein:
> Christian Kirsch schrieb:
>
>> Am 04.10.2007 08:55 schrieb Claus Reibenstein:
>>
>>> Kai Ruhnau schrieb:
>>>
>>>> Claus Reibenstein schrieb:
>>>>
>>>>> % in der host-Spalte bedeutet: alle Hosts.
>>>> .... bis auf localhost
>>> Sicher?
>> Ja.
>
> Dann nenne mir bitte die Stelle im Handbuch, wo diese Einschränkung
> beschrieben wird. Ich habe nichts dergleichen finden können.
>


http://dev.mysql.com/doc/refman/5.0/en/access-denied.html
http://dev.mysql.com/doc/refman/5.0/en/grant.html

Bei letzterem gibt es einen mit "Warning" überschriebenen Absatz, der
für das hier Diskutierte interessant ist.
--
Christian

Re: Privileges Frage

am 04.10.2007 14:08:56 von Claus Reibenstein

Christian Kirsch schrieb:

> Am 04.10.2007 09:48 schrieb Claus Reibenstein:
>
>> Christian Kirsch schrieb:
>>
>>> Am 04.10.2007 08:55 schrieb Claus Reibenstein:
>>>
>>>> Kai Ruhnau schrieb:
>>>>
>>>>> Claus Reibenstein schrieb:
>>>>>
>>>>>> % in der host-Spalte bedeutet: alle Hosts.
>>>>>
>>>>> .... bis auf localhost
>>>>
>>>> Sicher?
>>>
>>> Ja.
>>
>> Dann nenne mir bitte die Stelle im Handbuch, wo diese Einschränkung
>> beschrieben wird. Ich habe nichts dergleichen finden können.
>
> http://dev.mysql.com/doc/refman/5.0/en/access-denied.html
> http://dev.mysql.com/doc/refman/5.0/en/grant.html

Geht's ein bisschen genauer? Beide Links enthalten ziemlich viel Text,
aber ich finde dort nichts, was Kais Behauptung bestätigen könnte.

> Bei letzterem gibt es einen mit "Warning" überschriebenen Absatz, der
> für das hier Diskutierte interessant ist.

Da gibt es mehrere "Warning"-Absätze (drei, wenn ich richtig gezählt
habe), aber keinen, der zu Kais Behauptung passt.

Gruß. Claus

Re: Privileges Frage

am 05.10.2007 00:17:28 von B.Steinbrink

On Thu, 04 Oct 2007 14:08:56 +0200, Claus Reibenstein wrote:

> Christian Kirsch schrieb:
>
>> Am 04.10.2007 09:48 schrieb Claus Reibenstein:
>>
>>> Christian Kirsch schrieb:
>>>
>>>> Am 04.10.2007 08:55 schrieb Claus Reibenstein:
>>>>
>>>>> Kai Ruhnau schrieb:
>>>>>
>>>>>> Claus Reibenstein schrieb:
>>>>>>
>>>>>>> % in der host-Spalte bedeutet: alle Hosts.
>>>>>>
>>>>>> .... bis auf localhost
>>>>>
>>>>> Sicher?
>>>>
>>>> Ja.
>>>
>>> Dann nenne mir bitte die Stelle im Handbuch, wo diese Einschränkung
>>> beschrieben wird. Ich habe nichts dergleichen finden können.
>>
>> http://dev.mysql.com/doc/refman/5.0/en/access-denied.html
>> http://dev.mysql.com/doc/refman/5.0/en/grant.html
>
> Geht's ein bisschen genauer? Beide Links enthalten ziemlich viel Text,
> aber ich finde dort nichts, was Kais Behauptung bestätigen könnte.
>
>> Bei letzterem gibt es einen mit "Warning" überschriebenen Absatz, der
>> für das hier Diskutierte interessant ist.
>
> Da gibt es mehrere "Warning"-Absätze (drei, wenn ich richtig gezählt
> habe), aber keinen, der zu Kais Behauptung passt.

Tut auch keiner. % umfasst natürlich auch "localhost" (sowohl den Weg
über den Unix-Socket, als auch den über TCP, wenn man "localhost" selbst
auflöst und dem Client -h127.0.0.1 mit auf den Weg gibt).

Der zweite "Warning"-Absatz lese ich als "spezifische Hostangaben haben
höhere Priorität als Wildcards". Soll heissen: Wenn user@localhost und
user@% definiert wurden, greift für localhost die spezifischere
Definition. Aber da wurde localhost quasi manuell aus % "entfernt".

$ mysql -ufoo
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 82
Server version: 5.0.45-Debian_1-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select user();
+---------------+
| user() |
+---------------+
| foo@localhost |
+---------------+
1 row in set (0.00 sec)

mysql> show grants;
+---------------------------------+
| Grants for foo@% |
+---------------------------------+
| GRANT USAGE ON *.* TO 'foo'@'%' |
+---------------------------------+


Björn