Heim > Datenbank > MySQL-Tutorial > Hauptteil

So erhöhen Sie die Berechtigungen in MySQL

青灯夜游
Freigeben: 2022-04-12 15:25:31
Original
5768 Leute haben es durchsucht

Die GRANT-Anweisung kann verwendet werden, um Benutzern in MySQL Berechtigungen hinzuzufügen. Die Syntax lautet „GRANT-Berechtigungstyp ON Berechtigungsstufenwert TO Benutzer [IDENTIFIED BY ‚Passwort‘] [WITH-Klausel];“;“; das Benutzerkonto und das Format ist „‘Benutzername‘@‘Hostname‘“.

So erhöhen Sie die Berechtigungen in MySQL

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

In MySQL können Sie die GRANT-Anweisung verwenden, um Benutzer zu autorisieren und ihre Berechtigungen zu erhöhen.

Das Syntaxformat ist wie folgt:

GRANT priv_type [(column_list)] ON database.table
TO user [IDENTIFIED BY 'password']
[WITH with_option [with_option]...]
Nach dem Login kopieren

wobei:

  • priv_type-Parameter den Berechtigungstyp angibt;

  • columns_list-Parameter gibt an, für welche Spalten die Berechtigung gilt, bedeutet dies, dass sie gilt die gesamte Tabelle;

  • database.table wird verwendet, um die Berechtigungsstufe anzugeben;

  • user-Parameter stellt das Benutzerkonto dar, das aus Benutzername und Hostname besteht, und das Format ist „‘username‘@ 'hostname'";

  • IDENTIFIED BY-Parameter wird verwendet, um Der Benutzer legt ein Passwort fest; der

  • password-Parameter ist das neue Passwort des Benutzers.

Die Berechtigungen, die in MySQL gewährt werden können, sind wie folgt:

  • Spaltenberechtigungen beziehen sich auf eine bestimmte Spalte in der Tabelle. Sie können beispielsweise die UPDATE-Anweisung verwenden, um Berechtigungen für den Wert der Namensspalte in der Tabelle „Studenten“ zu aktualisieren.

  • Tabellenberechtigungen beziehen sich auf alle Daten in einer bestimmten Tabelle. Beispielsweise können Sie mit der SELECT-Anweisung die Berechtigungen für alle Daten in der Tabelle „students“ abfragen.

  • Datenbankberechtigungen beziehen sich auf alle Tabellen in einer bestimmten Datenbank. Sie können beispielsweise neue Tabellen in der bestehenden Datenbank mytest erstellen.

  • Benutzerberechtigungen beziehen sich auf alle Datenbanken in MySQL. Sie können beispielsweise eine vorhandene Datenbank löschen oder eine neue Datenbank erstellen.

Entsprechend haben die Werte, die zur Angabe von Berechtigungsstufen in der GRANT-Anweisung verwendet werden können, die folgenden Formate:

  • *: repräsentiert alle Tabellen in der aktuellen Datenbank.

  • *.*: Stellt alle Tabellen in allen Datenbanken dar.

  • db_name.*: Gibt alle Tabellen in einer Datenbank an, db_name gibt den Datenbanknamen an.

  • db_name.tbl_name: Stellt eine Tabelle oder Ansicht in einer Datenbank dar, db_name gibt den Datenbanknamen an, tbl_name gibt den Tabellennamen oder Ansichtsnamen an.

  • db_name.routine_name: Stellt eine gespeicherte Prozedur oder Funktion in einer Datenbank dar, routine_name gibt den Namen oder Funktionsnamen der gespeicherten Prozedur an.

  • TO-Klausel: Wenn die Berechtigung einem nicht vorhandenen Benutzer erteilt wird, führt MySQL automatisch eine CREATE USER-Anweisung aus, um den Benutzer zu erstellen, für den Benutzer muss jedoch ein Kennwort festgelegt werden.

In MySQL können nur Benutzer mit GRANT-Berechtigungen GRANT-Anweisungen ausführen.

Beispiel:

Verwenden Sie die GRANT-Anweisung, um einen neuen Benutzer testUser mit dem Passwort testPwd zu erstellen. Der Benutzer testUser verfügt über Abfrage- und Einfügeberechtigungen für alle Daten und erhält GRANT-Berechtigungen.

mysql> GRANT SELECT,INSERT ON *.*
    -> TO 'testUser'@'localhost'
    -> IDENTIFIED BY 'testPwd'
    -> WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.05 sec)
Nach dem Login kopieren

Verwenden Sie die SHOW GRANTS-Anweisung, um die Berechtigungen des Benutzers testUser abzufragen, wie unten gezeigt.

So erhöhen Sie die Berechtigungen in MySQL

Erweiterte Kenntnisse: Beschreibung des Berechtigungstyps

1) Bei der Erteilung von Datenbankberechtigungen kann als folgender Wert angegeben werden:

Berechtigungsname entspricht dem Feld in der Benutzertabelle Beschreibung
SELECT Select_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, mit der SELECT-Anweisung auf alle Tabellen und Ansichten in einer bestimmten Datenbank zuzugreifen.
INSERT Insert_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, mithilfe der INSERT-Anweisung Datenzeilen zu allen Tabellen in einer bestimmten Datenbank hinzuzufügen.
DELETE Delete_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, Datenzeilen aus allen Tabellen in einer bestimmten Datenbank mithilfe der DELETE-Anweisung zu löschen.
UPDATE Update_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, die Werte aller Datentabellen in einer bestimmten Datenbank mithilfe der UPDATE-Anweisung zu aktualisieren.
REFERENCES References_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, Fremdschlüssel zu erstellen, die auf Tabellen in einer bestimmten Datenbank verweisen.
CREATE Create_priv stellt die Berechtigung dar, die ein autorisierter Benutzer verwenden kann, um mithilfe der CREATE TABLE-Anweisung eine neue Tabelle in einer bestimmten Datenbank zu erstellen.
ALTER Alter_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, alle Datentabellen in einer bestimmten Datenbank mithilfe der ALTER TABLE-Anweisung zu ändern.
VIEW VIEW Show_view_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, die Ansichtsdefinitionen vorhandener Ansichten in einer bestimmten Datenbank anzuzeigen.
ROUTINE ERSTELLEN Create_routine_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, gespeicherte Prozeduren und gespeicherte Funktionen für eine bestimmte Datenbank zu erstellen.
ALTER ROUTINE Alter_routine_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, vorhandene gespeicherte Prozeduren und gespeicherte Funktionen in der Datenbank zu aktualisieren und zu löschen.
INDEX Index_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, Indizes für alle Datentabellen in einer bestimmten Datenbank zu definieren und zu löschen.
DROP Drop_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, alle Tabellen und Ansichten in einer bestimmten Datenbank zu löschen.
Temporäre Tabellen erstellen Create_tmp_table_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, temporäre Tabellen in einer bestimmten Datenbank zu erstellen.
ANSICHT ERSTELLEN Create_view_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, neue Ansichten in einer bestimmten Datenbank zu erstellen.
EXECUTE ROUTINE Execute_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, gespeicherte Prozeduren und gespeicherte Funktionen einer bestimmten Datenbank aufzurufen.
LOCK TABLES Lock_tables_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, vorhandene Datentabellen einer bestimmten Datenbank zu sperren.
ALL oder ALL PRIVILEGES oder SUPER Super_priv bedeutet alle oben genannten Berechtigungen/Superberechtigungen

2) Bei der Erteilung von Tabellenberechtigungen kann als folgender Wert angegeben werden:

Drop_privGewährt dem Benutzer die Berechtigung zum Löschen von Datentabellen.UPDATEUpdate_privGewährt Benutzern die Berechtigung, die UPDATE-Anweisung zum Aktualisieren einer bestimmten Datentabelle zu verwenden Benutzer die Berechtigung, die ALTER TABLE-Anweisung zum Ändern der Datentabelle zu verwenden Benutzer erhält die Berechtigung, eine Datentabelle unter einem bestimmten Namen zu erstellen Namen4) Die effizienteste Berechtigung ist die Benutzererlaubnis. MySQL-Video-Tutorial】
Berechtigungsname entspricht dem Feld in der Benutzertabelle Beschreibung
SELECT Select_priv Gewährt dem Benutzer die Berechtigung, mit der SELECT-Anweisung auf eine bestimmte Tabelle zuzugreifen
INSERT Insert_priv Gewähren Sie Benutzern Zugriff auf die INSERT-Anweisung, um Datenzeilen zu einer bestimmten Tabelle hinzuzufügen.
DELETE Delete_priv Gewährt dem Benutzer die Berechtigung, Datenzeilen aus einer bestimmten Tabelle mithilfe der DELETE-Anweisung zu löschen
3) Bei der Erteilung von Spaltenberechtigungen kann
Bei der Erteilung von Benutzerberechtigungen kann zusätzlich zu allen Werten, die bei der Erteilung von Datenbankberechtigungen angegeben werden können, auch die folgenden Werte sein: BENUTZER ERSTELLEN: Gibt an, dass der gewährte Benutzer erstellen kann und löschen Sie die Berechtigungen neuer Benutzer.
SHOW DATABASES: Zeigt an, dass dem Benutzer die Berechtigung erteilt wurde, die SHOW DATABASES-Anweisung zum Anzeigen der Definitionen aller vorhandenen Datenbanken zu verwenden. 【Verwandte Empfehlungen:

Das obige ist der detaillierte Inhalt vonSo erhöhen Sie die Berechtigungen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!