
198 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
... SELECT-Statement ausf¨uhren, brauchen Sie eventuell sowohl die insert- als auch die
select-Berechtigung. Ihre Berechtigungen m¨ogen so sein, dass der user-Tabelleneintrag
eine Berechtigung enth¨alt und der db-Tab elleneintrag die andere. In diesem Fall haben Sie
die notwendigen Berechtigungen, die Anfrage auszuf¨uhren, aber das Server kann das nicht
aus nur einer der beiden Tabellen heraus erkennen, sondern muss daf¨ur die Eintr¨age beider
Tabellen kombinieren.
Die host-Tabelle kann benutzt werden, um eine Liste sicherer Server zu pflegen.
Bei TcX enth¨alt die host-Tabelle eine Liste aller Maschine des lokalen Netzwerks. Diesen
werden alle Berechtigungen gew¨ahrt.
Sie k¨onnen die host-Tabelle auch dazu benutzen, die Host aufzuf¨uhren, die nicht sicher
sind. Nehmen Sie an, Sie haben eine Maschine oeffentlich.ihre.domaene, die an einem
¨offentlichen Ort ist, den Sie als nicht sicher erachten. Sie k¨onnen allen Hosts in Ihrem
Netzwerk Zugriff gew¨ahren ausser dieser Maschine, indem Sie die host-Tabelleneintr¨age
wie folgt benutzen:
+--------------------------+----+-
| Host | Db | ...
+--------------------------+----+-
| oeffentlich.ihre.domane | % | ... (alle Berechtigungen auf ’N’ gesetzt)
| %.ihre.domaene | % | ... (alle Berechtigungen auf ’Y’ gesetzt)
+--------------------------+----+-
Nat¨urlich sollten Sie Ihre Eintr¨age in die Berechtigungstabellen immer testen (indem Sie
zum Beispiel mysqlaccess benutzen), um sicherzustellen, dass Ihre Zugriffsberechtigungen
tats¨achlich so gesetzt sind, wie Sie denken.
5.2.10 Gr¨unde f¨ur Access denied-Fehler
Wenn Sie beim Verbindungsversuch zu einem MySQL-Server Access denied-Fehler bekom-
men, gibt Ihnen die folgende Liste ein paar Hinweise, das Problem zu beheben:
• Haben Sie nach der Installation von MySQL das mysql_install_db-Skript laufen
lassen, um die anf¨anglichen Berechtigungstabelleninhalte zu konfigurieren? Wenn nicht,
tun Sie das! Siehe Abschnitt 5.3.4 [Default privileges], Seite 210. Testen Sie die
anf¨anglichen Berechtigungen, indem Sie folgenden Befehl ausf¨uhren:
shell> mysql -u root test
Der Server sollte die Verbindung ohne Fehlermeldung zulassen. Stellen Sie auch
sicher, dass Sie eine Datei ‘user.MYD’ im MySQL-Datenbankverzeichnis haben.
¨
Ublicherweise ist das ‘PFAD/var/mysql/user.MYD’, wobei PFAD der Pfadname zum
MySQL-Installationsverzeichnis ist.
• Nach einer gerade durchgef¨uhrten Installation sollten Sie sich mit dem Server verbinden
und Ihre Benutzer und deren Zugriffsberechtigungen einrichten:
shell> mysql -u root mysql
Der Server sollte die Verbindung zulassen, weil der MySQL-root-Benutzer anf¨anglich
kein Passwort hat. Das ist ein Sicherheitsrisiko, daher sollten Sie das root-Passwort
einrichten, w¨ahrend Sie Ihre anderen MySQL-Benutzer einrichten.
Wenn Sie versuchen, sich als root zu verbinden, und folgenden Fehler erhalten:
Kommentare zu diesen Handbüchern