Kapitel 5: MySQL-Datenbankadministration 205
select-Berechtigung hat, kann diese nicht durch Eintr¨age auf Datenbank-, Tabellen- oder
Spaltenebene widerrufen werden.
Die Berechtigungen f¨ur eine Spalte k¨onnen wie folgt berechnet werden:
Globale Berechtigungen
ODER (Datenbank-Berechtigungen UND Host-Berechtigungen)
ODER Tabellen-Berechtigungen
ODER Spalten-Berechtigungen
In den meisten F¨allen k¨onnen Sie einem Benutzer Rechte auf lediglich einer der Berechti-
gungsebenen gew¨ahren, wodurch das Leben nicht so kompliziert ist wie oben dargestellt. Die
Details der Prozedur zur
¨
Uberpr¨ufung der Berechtigungen sind in Abschnitt 5.2 [Privilege
system], Seite 180 dargestellt.
Wenn Sie Berechtigungen f¨ur eine Benutzer-/Hostname-Kombination gew¨ahren, die in der
mysql.user-Tabelle nicht existiert, wird ein Eintrag hinzugef¨ugt und verbleibt dort, bis
der mit einem DELETE-Befehl gel¨oscht wird. Mit anderen Worten: GRANT kann eventuell
user-Tabelleneintr¨age erzeugen, aber REVOKE entfernt diese nicht, sondern Sie m¨ussen das
explizit mit DELETE machen.
Ab MySQL-Version 3.22.12 wird, wenn ein neuer Benutzer erzeugt wird oder wenn Sie
globale Grant-Berechtigungen haben, das Passwort des Benutzers durch die IDENTIFIED
BY-Klausel festgelegt, wenn eine angegeben wird. Wenn der Benutzer bereits ein Passwort
hat, wird es durch das neue ersetzt.
ACHTUNG: Wenn Sie einen neuen Benutzer anlegen, aber keine IDENTIFIED BY-Klausel
angeben, hat der neue Benutzer kein Passwort. Das ist unsicher.
Passw¨orter k¨onnen auch mit dem SET PASSWORD-Befehl gesetzt werden. Siehe
Abschnitt 6.5.6 [SET OPTION], Seite 361.
Wenn Sie Berechtigungen f¨ur eine Datenbank gew¨ahren, wird ein Eintrag in der mysql.db-
Tabellen erzeugt, falls notwendig. Wenn alle Berechtigungen f¨ur die Datenbank mit REVOKE
widerrufen wurden, wird dieser Eintrag gel¨oscht.
Wenn ein Benutzer ¨uberhaupt keine Berechtigungen auf eine Tabelle hat, wird die Tabelle
nicht angezeigt, wenn der Benutzer nach einer Liste von Tabellen anfragt (zum Beispiel mit
einem SHOW TABLES-Statement).
Die mit GRANT OPTION-Klausel gibt dem Benutzer die M¨oglichkeit, anderen Benutzern
jegliche der Berechtigungen zu vergeben, die der Benutzer auf der angegebenen
Berechtigungsebene hat. Sie sollten vorsichtig damit sein, wem Sie die grant-Berechtigung
geben, denn zwei Benutzer mit unterschiedlichen Berechtigungen k¨onnen in der Lage sein,
Ihre Berechtigungen zu addieren!
Sie k¨onnen einem Benutzer keine Berechtigung gew¨ahren, die Sie selbst nicht haben; die
grant-Berechtigung erlaubt Ihnen nur, die Berechtigungen zu vergeben, die Sie selbst be-
sitzen.
Wenn Sie einem Benutzer die grant-Berechtigung auf einer bestimmten Berechtigungsebene
geben, denken Sie daran, dass der Benutzer jegliche Berechtigungen, die der Benutzer
schon besitzt (oder die ihm in Zukunft gew¨ahrt werden!), auf dieser Ebene auch an an-
dere Benutzer gew¨ahrt werden k¨onnen. Nehmen Sie an, Sie gew¨ahren einem Benutzer
die insert-Berechtigung auf eine Datenbank. Wenn Sie danach die select-Berechtigung auf
Comentarios a estos manuales