Heim >Datenbank >MySQL-Tutorial >Ausführliche Erläuterung der Beispiele für MySQL-Zugriffsberechtigungseinstellungen
Zugriffsberechtigungen festlegen
Nachdem Sie ein Benutzerkonto erstellt haben, müssen Sie anschließend Zugriffsberechtigungen zuweisen. Neu angelegte Benutzerkonten haben keine Zugriffsrechte. Sie können sich bei MySQL anmelden, aber die Daten nicht sehen oder Datenbankoperationen ausführen.
Um die einem Benutzerkonto gewährten Berechtigungen anzuzeigen, verwenden Sie SHOW GRANTS FOR, wie unten gezeigt:
Geben Sie ein:
SHOW GRANTS FOR bforta;
Geben Sie ein:
Analyse: Die Ausgabe zeigt, dass Benutzer bforta eine Berechtigung USAGE ON *.* hat. USAGE bedeutet überhaupt keine Berechtigungen (ich weiß, nicht sehr intuitiv), daher bedeutet dieses Ergebnis, dass es keine Berechtigungen für irgendetwas in einer Datenbank und in einer Tabelle gibt.
Ein Benutzer wird als Benutzer@Host definiert. MySQL-Berechtigungen werden durch eine Kombination aus Benutzername und Hostname definiert. Wenn Sie keinen Hostnamen angeben, wird der Standard-Hostname % verwendet (dem Benutzer wird unabhängig vom Hostnamen Zugriff gewährt).
Um Berechtigungen festzulegen, verwenden Sie die GRANT-Anweisung. GRANT erfordert die Angabe mindestens der folgenden Informationen:
1. Die zu gewährenden Berechtigungen
3. Benutzername.
Das folgende Beispiel zeigt die Verwendung von GRANT:
Eingabe:
Analyse: Dieses GRANT ermöglicht Benutzern die Verwendung im Crashkurs.* (alle Tabellen der Crashkurs-Datenbank) SELECT. Indem der Benutzer bforta nur SELECT-Zugriff gewährt, hat er nur Lesezugriff auf alle Daten in der Crashcourse-Datenbank.GRANT SELECT ON crashcourse.*TO bforta;
FÖRDERUNGEN ANZEIGEN Reflektieren Sie diese Änderung:
Eingabe:
Ausgabe:SHOW GRANTS FOR bforta;
Analyse: jede GRANT Fügt eine Berechtigung für einen Benutzer hinzu (oder aktualisiert sie). MySQL liest alle Berechtigungen und ermittelt darauf basierend die Berechtigungen.
Die umgekehrte Operation von GRANT ist REVOKE, mit der bestimmte Berechtigungen widerrufen werden können. Hier ist ein Beispiel:
Eingabe:
Analyse: Diese REVOKE-Anweisung hebt die gerade dem Benutzer bforta erteilte SELECT-Zugriffsberechtigung auf. Der widerrufene Zugriff muss vorhanden sein, andernfalls tritt ein Fehler auf.REVOKE SELECT ON crashcourse.* FROM bforta;
GRANT und REVOKE können Zugriffsberechtigungen auf mehreren Ebenen steuern:
1 Der gesamte Server, verwenden Sie GRANT ALL und REVOKE ALL.
Die gesamte Datenbank, verwenden Sie ON Datenbank.*;
3. Spezifische Tabellen, verwenden Sie ON-Datenbank.
5.
In der folgenden Tabelle sind alle Berechtigungen aufgeführt, die gewährt oder widerrufen werden können.
Mit GRANT und REVOKE in Kombination mit den in der Tabelle aufgeführten Berechtigungen können Sie steuern, was Benutzer mit Ihren wertvollen Daten tun dürfen vollständige Kontrolle darüber, was Sie tun können und was nicht. Zukünftige AutorisierungBei der Verwendung von GRANT und REVOKE muss das Benutzerkonto vorhanden sein, für die beteiligten Objekte besteht jedoch keine solche Anforderung. Dadurch können Administratoren Sicherheitsmaßnahmen entwerfen und implementieren, bevor sie Datenbanken und Tabellen erstellen.
Ein Nebeneffekt davon ist, dass beim Löschen einer Datenbank oder Tabelle (mittels DROP-Anweisung) die zugehörigen Zugriffsrechte weiterhin bestehen. Außerdem bleiben diese Berechtigungen weiterhin wirksam, wenn die Datenbank oder Tabelle in Zukunft neu erstellt wird.
Mehrere Autorisierungen vereinfachenSie können mehrere GRANT-Anweisungen aneinanderreihen, indem Sie jede Berechtigung auflisten und durch Kommas trennen, wie unten gezeigt:
【Verwandt empfohlen】
GRANT SELECT,INSERT ON crashcourse.* TO bforta;Kostenloses MySQL-Video-Tutorial
2 MySQL erstellt ein Benutzerkonto und löscht ein Benutzerkonto
3 Zeilenbetrieb zum Verwalten von Benutzern und Ändern von Passwörtern
4. Mehrere Punkte, die Sie zur MySQL-Zugriffskontrolle beachten sollten5 Sätze und Korrekturlesereihenfolge
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Beispiele für MySQL-Zugriffsberechtigungseinstellungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!