Benutzerrechte auf Tabellenebene mit Wildcards - möglich?

Benutzerrechte auf Tabellenebene mit Wildcards - möglich?

am 01.05.2007 12:21:36 von Michael Ziegler

Hallo NG,

ich habe eine kleine Datenbank gebaut, welche sich teilweise mit einem
bestehenden SAP-System überschneidet, und mein Chef möchte nun aus
diesem SAP-System Daten exportieren. Die it-Abteilung hat eine
Möglichkeit gefunden diese Daten direkt in unserer MySQL-Datenbank zu
speichern.

Nun möchte ich dafür einen Benutzer anlegen, der auf alle Tabellen in
meiner DB, deren Name mit SAP_ anfängt, vollen Zugriff hat - und zwar
auf _nur_ diese Tabellen :)

Dazu habe ich folgendes Statement (und einige Variationen[1]) versucht:

| mysql> grant all on entwicklungsdb.SAP\_% to sapdata@% identified by
"password";
| ERROR:
| Unknown command '\_'.
| ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL
| server version for the right syntax to use near '\_% to sapdata@%
identified by "password"' at line 1

PMA kann sowas auch nicht... geht das überhaupt? Meine MySQL-Version ist
5.0.26, kann das vielleicht eine neuere?

Vielen Dank und viele Grüße,
Michael



[1]: Namen in Anführungszeichen gesetzt, * statt %, den \ vorm
Unterstrich weggelassen und solche Sachen. ;)

Re: Benutzerrechte auf Tabellenebene mit Wildcards - möglich?

am 01.05.2007 13:50:34 von Dominik Echterbruch

Michael Ziegler schrieb:
>
> Nun möchte ich dafür einen Benutzer anlegen, der auf alle Tabellen in
> meiner DB, deren Name mit SAP_ anfängt, vollen Zugriff hat - und zwar
> auf _nur_ diese Tabellen :)

Das funktioniert nicht gemäß
http://dev.mysql.com/doc/refman/5.0/en/grant.html

> | mysql> grant all on entwicklungsdb.SAP\_% to sapdata@% identified by
> "password";
> | ERROR:
> | Unknown command '\_'.
> | ERROR 1064 (42000): You have an error in your SQL syntax; check the
> manual that corresponds to your MySQL
> | server version for the right syntax to use near '\_% to sapdata@%
> identified by "password"' at line 1
>
> [1]: Namen in Anführungszeichen gesetzt, * statt %, den \ vorm
> Unterstrich weggelassen und solche Sachen. ;)

Auch hier hilft o.g. Seite der Anleitung. Tabellennamen werden in
Backticks gesetzt, nicht in Hochkommas oder Anführungszeichen. Ich tippe
dir hier mal welche hin, falls du sie auf deiner Tastatur nicht findest:
````````````````````````
Das müßte erst mal reichen für die nächsten paar Statements ;)

Grüße,
Dominik

Re: Benutzerrechte auf Tabellenebene mit Wildcards - möglich?

am 01.05.2007 14:35:58 von Michael Ziegler

Dominik Echterbruch wrote:
> Das funktioniert nicht gemäß
> http://dev.mysql.com/doc/refman/5.0/en/grant.html

Menno. :P

> Auch hier hilft o.g. Seite der Anleitung. Tabellennamen werden in
> Backticks gesetzt, nicht in Hochkommas oder Anführungszeichen. Ich tippe

jo, hatte ich auch mal versucht ;)

> dir hier mal welche hin, falls du sie auf deiner Tastatur nicht findest:
> ````````````````````````
> Das müßte erst mal reichen für die nächsten paar Statements ;)

Super, vielen Dank! Wenn sie mir ausgehen meld ich mich wieder bei Dir
und bestell nach ;)


Gruß,
Michael