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

So legen Sie die Umgebungsvariable PATH im Linux-System fest (3 Methoden)

1. In Windows-Systemen erfordern viele Softwarein...

js, um einen einfachen Akkordeoneffekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

Docker-Umgebung in Linux-Umgebung installieren (keine Fallstricke)

Inhaltsverzeichnis Installationsvoraussetzungen S...

Zwei Möglichkeiten zum korrekten Bereinigen von MySQL-Binlog-Protokollen

mysql bereinigt Binlog-Protokolle korrekt Vorwort...

Detaillierte Erklärung der Docker-Datenspeichervolumes

Standardmäßig erfolgt das Lesen und Schreiben von...

Beispielcode für die Codevorlage für die Linux C-Protokollausgabe

Vorwort Dieser Artikel stellt hauptsächlich den r...

So lösen Sie das Problem der Groß-/Kleinschreibung bei MySQL-Abfragen

Frage Als ich kürzlich ein praktisches Projekt mi...

Beispielmethode zum Bereitstellen eines React-Projekts auf Nginx

Testprojekt: react-demo Klonen Sie Ihr React-Demo...

So fragen Sie einen Datensatz in MySQL ab, auf welcher Seite der Paging-Seite

Vorwort In der Praxis kann es zu folgendem Proble...