3.2. Rechte vergeben / entziehen


Wird oft vergessen: Änderungen der Zugriffsberechtigungen werden erst nach mysqladmin reload wirksam!


Befugnisse:

Select_priv
Insert_priv
Update_priv
Delete_priv
Create_priv
Drop_priv Löschen
Reload_priv mysqladmin (reload, refresh, flush)
Shutdown_priv mysqladmin shutdown
Process_priv mysqladmin (processlist, kill)
File_priv LOAD DATA INFILE / SELECT ... INTO OUTFILE
Grant_priv Rechte, die man selbst besitzt weitergeben
References_priv ???
Index_priv Indexe anlegen / entfernen
Alter_priv Alter-Kommando
... es werden mit jeder MySQL-Version einige mehr ;-)

Befugnisse werden an Benutzer erteilt


eindeutige Benutzeridentität: ist stets Kombination

Die MySQL-Usernamen (und Paßwörter) haben nichts mit dem UNIX-Nutzerkennzeichen zu tun!


Die Befugnisse stehen in der Datenbank namens mysql.

mysql> use mysql;

Database changed

mysql> show tables;

+-----------------+
| Tables in mysql |
+-----------------+
| db              |
| host            |
| user            |
| ...             |
+-----------------+


User-Table:


DB-Table:


In den Tabellen user und db kann für Host folgendes angegeben werden:

Auch in der Spalte Db sind Wildcards erlaubt. Ein % in der Spalte host bedeutet jeder Host. EIn % oder leerer Wert in der Spalte DB bedeutet: jede Datenbank.

Wird Host frei gelassen, bedeutet das: "schau in die Host-Tabelle"

MySQL prüft:

Der zweite Test wird bei jedem Kommando durchgeführt. Weitere Tabellen können dafür hinzugeogen werden:

Abfragen werden damit aber relativ zeitaufwendig.

Details


MySQL-Admins können die Zugriffsbefugnisse mit den Komammndos grant und revoke verwalten.
Ob dies - wie oft beschrieben - einfacher ist, sei dahingestellt.

Wenn man alle benutzten Grant- und Revoke-Kommandos in einer Datei abspeichert, sind Wechsel der MySQL-Version einfacher. Die o.g. Tabellen können nicht zwischen den MySQL-Versionen übertragen werden (auch nicht als Text-File), da sich die Tabellenstruktur üblicherweise beim Wechsel der MySQL-Version ändert.


Dietmar Grunewald
Oktober 2006