Detaillierte Erläuterung der MySQL-Benutzer- und Berechtigungsverwaltung

Detaillierte Erläuterung der MySQL-Benutzer- und Berechtigungsverwaltung

Dieser Artikel beschreibt anhand von Beispielen die Verwaltung von MySQL-Benutzern und -Berechtigungen. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Benutzer stellen eine Verbindung zu MySQL her und können verschiedene Abfragen durchführen. Diese werden alle im Hintergrund von den MySQL-Benutzer- und Berechtigungsfunktionen verwaltet.

Der Datenaustausch zwischen Benutzern und Datenbankservern gliedert sich in zwei Phasen:

(1) Haben Sie das Recht, die Verbindung herzustellen? (2) Haben Sie das Recht, diesen Vorgang durchzuführen?

1. Haben Sie das Recht, eine Verbindung herzustellen?

Wie bestimmt der Server, ob der Benutzer das Recht hat, eine Verbindung herzustellen?

in Übereinstimmung mit:

1) Woher kommen Sie? Gastgeber
2) Wer sind Sie? Benutzer
3) Wie lautet Ihr Passwort? Passwort

Diese drei Benutzerinformationen werden in der Benutzertabelle in der MySQL-Datenbank gespeichert.

Ändern Sie die Hostdomäne, damit die IP eine Verbindung herstellen kann

mysql>Benutzer aktualisieren, Host festlegen = "192.168.137.123", wobei Benutzer = "root" ist;
mysql>Berechtigungen leeren; -- Berechtigungen leeren

Benutzerkennwort ändern

mysql>Benutzer aktualisieren, Passwort festlegen=Passwort('11111111'), wobei xxx;
mysql>Berechtigungen leeren; -- Berechtigungen leeren

2. Sind Sie berechtigt, diesen Vorgang durchzuführen?

In MySQL gibt es eine Bibliothek namens MySQL-Bibliothek. In dieser Bibliothek gibt es drei Tabellen, von denen eine die Benutzertabelle ist, in der die Berechtigungsinformationen aller Benutzer gespeichert sind. Eine davon ist die Datenbanktabelle, die die Berechtigungsinformationen aller Benutzer auf Datenbankebene speichert. Eine davon ist die Tabelle „tables_priv“, die die Berechtigungsinformationen aller Benutzer auf Tabellenebene speichert.

Wenn sich ein Benutzer anmeldet, kann die Benutzertabelle erstens die Benutzeranmeldungen einschränken und zweitens werden darin auch die globalen Berechtigungen des Benutzers gespeichert. Wenn der Benutzer keine Berechtigungen hat, wird anhand der db-Tabelle geprüft, ob der Benutzer die Berechtigung hat, eine bestimmte Datenbank zu bedienen. Wenn keine von beiden vorhanden ist, wird anhand der table_priv-Tabelle geprüft, ob der Benutzer die Berechtigung hat, eine bestimmte Tabelle zu bedienen. Wenn ja, kann der Benutzer die Tabelle gemäß den vorhandenen Berechtigungen bedienen.

1) Globale Autorisierung und Widerruf

Globales Autorisierungsformat:

gewähre [Berechtigung 1, Berechtigung 2, Berechtigung 3] am *.* dem durch „Passwort“ identifizierten Benutzer@„Host“

Allgemeine Berechtigungen: Alle, Erstellen, Löschen, Auswählen, Einfügen, Löschen, Aktualisieren

Genehmigung:

Erstellen Sie den Benutzer lisi, stellen Sie den Host auf 192.168.191.% ein und das %-Platzhalterzeichen gibt an, dass jeder Host, der mit 192.168.191.xxx endet, eine Verbindung herstellen kann. Das Passwort lautet 12345678.

gewähre alles auf *.* an lisi@'192.168.191.%', identifiziert durch '12345678';

Berechtigungen zurückfordern:

widerrufe alles auf *.* von lisi@'192.168.191.%';

2) Autorisierung und Widerruf auf Datenbankebene

Voraussetzung: Der lisi-Benutzer muss alle Betriebsberechtigungen für die mysqlmaster-Datenbank haben.

Genehmigung:

gewähre alles auf mysqlmaster.* an lisi@'192.168.191.%', identifiziert durch '12345678';

Zurücknehmen:

widerrufe alles auf mysqlmaster.* von lisi@'192.168.191.%';

3) Autorisierung und Widerruf auf Tabellenebene

Anforderung: Geben Sie dem Benutzer „lisi“ die Berechtigungen für Einfüge-, Aktualisierungs- und Auswahlvorgänge für die Tabelle „goods“ in der mysqlmaster-Datenbank.

Genehmigung:

Gewähren Sie Einfügen, Aktualisieren und Auswählen für mysqlmaster.goods an lisi@'192.168.191.%', identifiziert durch '12345678'.

Zurücknehmen:

Widerrufen Sie Insert, Update, Select auf mysqlmaster.goods von lisi@'192.168.191.%';

Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“, „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“ und „Zusammenfassung der allgemeinen MySQL-Funktionen“.

Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist.

Das könnte Sie auch interessieren:
  • So verwenden Sie DCL zum Verwalten von Benutzern und Steuern von Berechtigungen in MySQL
  • So erstellen Sie Benutzer und verwalten Berechtigungen in MySQL
  • Beispielanalyse der MySQL-Benutzerrechteverwaltung
  • Ausführliche Erläuterung der MySQL-Benutzerkontenverwaltung und Berechtigungsverwaltung
  • Detaillierte Erläuterung der Methoden zur Überprüfung und Verwaltung von MySQL-Benutzerrechten
  • Detaillierte Erläuterung der MySQL-Benutzerrechteverwaltung
  • Zusammenfassung der grundlegenden Methoden zur Benutzer- und Berechtigungsverwaltung in MySQL
  • Detaillierte Erläuterung der MySQL-Benutzerrechteverwaltung

<<:  Node.js verwendet die Express-Fileupload-Middleware zum Hochladen von Dateien

>>:  So verwenden Sie nginx, um auf lokale statische Ressourcen auf einem Linux-Server zuzugreifen

Artikel empfehlen

Ein kurzes Verständnis des Unterschieds zwischen MySQL Union All und Union

Union ist eine Vereinigungsoperation für die Date...

Das WeChat-Applet implementiert den Wasserfallfluss, Paging, Scrollen und Laden

In diesem Artikel wird der spezifische Code für d...

Analyse des Prinzips und der Verwendung von MySQL-Benutzerdefinierten Funktionen

Dieser Artikel veranschaulicht anhand von Beispie...

Detaillierte Erklärung des this-Zeigeproblems in JavaScript

Zusammenfassen Globale Umgebung ➡️ Fenster Normal...

Detaillierte Schritte zur Installation von MySQL 5.7 über YUM auf CentOS7

1. Gehen Sie zu dem Speicherort, an dem Sie das I...

Unterschiede zwischen MySQL CHAR und VARCHAR beim Speichern und Lesen

Einführung Kennen Sie wirklich den Unterschied zw...

Kontinuierliche Bereitstellung mit Jenkins und Docker unter Docker

1. Was ist Continuous Delivery Der Ausgabeprozess...

Das Linux-System verbietet den Remote-Login-Befehl des Root-Kontos

PS: So deaktivieren Sie die Remote-Anmeldung des ...

Einführung in useRef und useState in JavaScript

Inhaltsverzeichnis 1. useState-Hook 2. useRef-Hoo...

Vue implementiert Div-Rad zum Vergrößern und Verkleinern

Implementieren Sie das Vergrößern und Verkleinern...

Diagramm der Installationszusammenfassung für MySQL 8.0.11

Installationsumgebung: CAT /etc/os-release Zeigt ...