Kapitel 5: MySQL-Datenbankadministration 213
Beachten Sie, dass Sie f¨ur die Einrichtung eines Superusers lediglich einen user-
Tabelleneintrag mit Berechtigungsfeldern einrichten m¨ussen, die auf ’Y’ gesetzt sind. Es
sind keine db- oder host-Tabelleneintr¨age n¨otig.
The Berechtigungsspalten in der user-Tabelle wurden im letzten INSERT-Statement nicht
explizit gesetzt (f¨ur den Benutzer dummy), daher erhalten diese Spalten ihren Vorgabewert
von ’N’. Das ist dasselbe, was GRANT USAGE macht.
Das folgende Beispiel f¨ugt einen Benutzer custom hinzu, der sich von localhost,
server.domain und whitehouse.gov aus verbinden kann. Er will auf die bankkonto-
Datenbank nur von localhost aus zugreifen, auf die spesen-Datenbank nur von
whitehouse.gov aus und auf die kunde-Datenbank von allen drei Hosts aus. Er will von
allen drei Hosts aus das Passwort dumm benutzen.
Um die Berechtigungen dieses Benutzers mit GRANT-Statements einzurichten, geben Sie
folgende Befehle ein:
shell> mysql --user=root mysql
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON bankkonto.*
TO custom@localhost
IDENTIFIED BY ’dumm’;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON spesen.*
IDENTIFIED BY ’dumm’;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON kunde.*
TO custom@’%’
IDENTIFIED BY ’dumm’;
Der Grund, warum wir Grant-Statements f¨ur den Benutzer ’custom’ eingeben, ist, dass wir
dem Benutzer Zugriff auf MySQL sowohl von der lokalen Maschine mit Unix-So ckets als
auch von der entfernten Maschine ’whitehouse.gov’ ¨uber TCP/IP geben wollen.
Um die Benutzerberechtigungen durch direkte
¨
Anderungen an den Berechtigungstabellen
einzugeben, geben Sie folgende Befehle ein (beachten Sie das FLUSH PRIVILEGES am Ende):
shell> mysql --user=root mysql
mysql> INSERT INTO user (Host,User,Password)
VALUES(’localhost’,’custom’,PASSWORD(’dumm’));
mysql> INSERT INTO user (Host,User,Password)
VALUES(’server.domain’,’custom’,PASSWORD(’dumm’));
mysql> INSERT INTO user (Host,User,Password)
VALUES(’whitehouse.gov’,’custom’,PASSWORD(’dumm’));
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES
(’localhost’,’bankkonto’,’custom’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Comentarios a estos manuales