Heim Datenbank MySQL-Tutorial Was sind die Berechtigungstabellen von MySQL?

Was sind die Berechtigungstabellen von MySQL?

Jun 27, 2022 pm 06:03 PM
mysql

Zu den Berechtigungstabellen von MySQL gehören: 1. Benutzertabelle, die zum Aufzeichnen von Kontoinformationen verwendet wird, die eine Verbindung zum Server herstellen dürfen. Alle in dieser Tabelle aktivierten Berechtigungen sind global und gelten für alle Datenbanken. 2. Datenbanktabelle, in der die Betriebsberechtigungen der Benutzer gespeichert sind für eine bestimmte Datenbank; 3. tables_priv-Tabelle, verwendet, um Berechtigungen für eine einzelne Tabelle festzulegen; 4. columns_priv-Tabelle, verwendet, um Berechtigungen für eine einzelne Datenspalte festzulegen; 5. procs_priv-Tabelle, verwendet, um Berechtigungen für gespeicherte Prozeduren und gespeicherte Funktionen festzulegen; Berechtigungseinstellungen.

Was sind die Berechtigungstabellen von MySQL?

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

In der MySQL-Datenbank umfassen die Berechtigungstabellen die Benutzertabelle, die DB-Tabelle, die Tables_priv-Tabelle, die Columns_priv-Tabelle und die procs_priv-Tabelle.

Benutzerberechtigungstabelle

Die Benutzertabelle ist die wichtigste Berechtigungstabelle in MySQL und dient zum Aufzeichnen von Kontoinformationen, die eine Verbindung zum Server herstellen dürfen. Es ist zu beachten, dass alle in der Benutzertabelle aktivierten Berechtigungen global sind und für alle Datenbanken gelten.

Die Felder in der Benutzertabelle können grob in 4 Kategorien unterteilt werden, nämlich Benutzerspalten, Berechtigungsspalten, Sicherheitsspalten und Ressourcenkontrollspalten.

Benutzerspalte

Die Benutzerspalte speichert die Informationen, die Benutzer eingeben müssen, wenn sie eine Verbindung zur MySQL-Datenbank herstellen. Es ist zu beachten, dass die MySQL-Version 5.7 nicht mehr „Password“ als Passwortfeld verwendet, sondern es in „authentication_string“ geändert hat.

Berechtigungsspalte

Die Felder in der Berechtigungsspalte bestimmen die Berechtigungen des Benutzers und werden verwendet, um die Vorgänge zu beschreiben, die für Daten und Datenbanken im globalen Bereich zulässig sind.

Berechtigungen werden grob in zwei Kategorien unterteilt, nämlich erweiterte Verwaltungsberechtigungen und normale Berechtigungen:

  • Erweiterte Verwaltungsberechtigungen verwalten hauptsächlich die Datenbank, z. B. Berechtigungen zum Schließen von Diensten, Superberechtigungen und Laden von Benutzern.

  • Normale Berechtigungen Betreiben Sie die Datenbank, z. B. Abfrageberechtigungen, Änderungsberechtigungen usw.

Die Berechtigungsspalten der Benutzertabelle umfassen Select_priv, Insert_priv und andere Felder, die mit priv enden. Der Datentyp dieser Feldwerte ist ENUM Der Benutzer verfügt über die entsprechenden Berechtigungen, und N bedeutet, dass der Benutzer über die entsprechenden Berechtigungen verfügt. Aus Sicherheitsgründen ist der Standardwert für diese Felder N.

Wenn Sie Berechtigungen ändern möchten, können Sie die GRANT-Anweisung verwenden, um dem Benutzer einige Berechtigungen zu erteilen, oder Sie können die Berechtigungen festlegen, indem Sie die Benutzertabelle mit der UPDATE-Anweisung aktualisieren.

Sicherheitsspalte

Die Sicherheitsspalte wird hauptsächlich verwendet, um festzustellen, ob sich der Benutzer erfolgreich anmelden kann. Die Sicherheitsspalte in der Benutzertabelle ist wie in der folgenden Tabelle dargestellt:

Sicherheitsspalte der Benutzertabelle
Feldname Feldtyp Ist es leer Standardwert Beschreibung
ssl_type enum('','ANY','X509','SPECIFIED') NEIN Sicherheitsfeld für SSL-Standardverschlüsselung unterstützen
ssl_cipher blob NEIN Sicherheitsfeld für SSL-Standardverschlüsselung unterstützen
x509_issuer blob NEIN Unterstützung x5 09 Standardfelder
x509_subject blob NEIN Unterstützt x509-Standardfelder
plugin char(64) NEIN mysql_native_password Einführung von Plugins zur Passwortüberprüfung, wenn Benutzer eine Verbindung herstellen. Das Plugin erstellt einen externen/Proxy Benutzer
passwort_expired enum('N','Y') NEIN N Ob das Passwort abgelaufen ist (N ist nicht abgelaufen, y ist abgelaufen)
password_last_changed Zeitstempel JA Zeichnen Sie die Zeit des zuletzt geänderten Passworts auf
password_lifetime smallint(5) unsigned YES Stellen Sie die Gültigkeitsdauer des Passworts in Tagen ein
account_locked enum('N ','Y') NEIN N Ob der Benutzer gesperrt ist (Y gesperrt, N entsperrt)

Hinweis: Auch wenn „password_expired“ „Y“ ist, kann sich der Benutzer weiterhin mit dem Passwort bei MySQL anmelden, es sind jedoch keine Vorgänge zulässig.

Normalerweise unterstützen Standarddistributionen kein SSL. Leser können die SHOW VARIABLES LIKE „have_openssl“-Anweisung verwenden, um zu überprüfen, ob sie über SSL-Funktionalität verfügen. Wenn der Wert von have_openssl DISABLED ist, wird die SSL-Verschlüsselungsfunktion nicht unterstützt.

Ressourcenkontrollspalte

Die Felder in der Ressourcenkontrollspalte werden verwendet, um die von Benutzern verwendeten Ressourcen zu begrenzen. Die Ressourcenkontrollspalten in der Benutzertabelle werden in Tabelle 4 angezeigt.

Gibt die an Anzahl der Verbindungen, die gleichzeitig hergestellt werden dürfendb-Tabelle wird häufig verwendet und ist eine sehr wichtige Berechtigungstabelle in der MySQL-Datenbank. Die Tabelle speichert die Betriebsberechtigungen des Benutzers für eine bestimmte Datenbank. Die Felder in der Tabelle lassen sich grob in zwei Kategorien einteilen, nämlich Benutzerspalten und Berechtigungsspalten. BenutzerspalteFeldnameFeldtypOb es leer istStandardwertBeschreibungHost
Die Ressourcenkontrollspalte der Benutzertabelle
Feldname Feldtyp ob leer ist Standardwert Beschreibung
max_questions int(11) ohne Vorzeichen NEIN 0 Gibt die Anzahl der Vorgänge an, die zum Ausführen von Abfragen pro Stunde zulässig sind max_connections
Der Standardwert für die oben genannten Felder ist 0, was bedeutet, dass es keine Begrenzung gibt. Wenn die Anzahl der Benutzeranfragen oder -verbindungen innerhalb einer Stunde das Ressourcenkontrolllimit überschreitet, wird der Benutzer gesperrt und kann hier bis zur nächsten Stunde keine entsprechenden Vorgänge ausführen. Die Werte dieser Felder können mit der GRANT-Anweisung aktualisiert werden. db-Tabelle
Die Benutzerspalte der Datenbanktabelle enthält drei Felder, nämlich Host, Benutzer und Datenbank, die die Betriebsberechtigung eines Benutzers zum Herstellen einer Verbindung zu einer bestimmten Datenbank von einem bestimmten Host aus angeben Der Primärschlüssel der Datenbanktabelle. Die Benutzerliste der Datenbanktabelle wird in der folgenden Tabelle angezeigt:

char(6 0 )

NEIN KeineHostname

Dbchar(64)

NEIN

Keine

Datenbank. NameBenutzerchar(3 2)NEINKeineBenutzernameBerechtigungsspaltentables_priv-Tabelle und columns_priv-TabelleFeldnameFeldtypIst es leer?StandardwertBeschreibungHostchar(60)NEIN
Die Berechtigungsspalten in der Datenbanktabelle sind ungefähr die gleichen wie die Berechtigungsspalten in der Benutzertabelle, mit der Ausnahme, dass die Berechtigungen in der Benutzertabelle für alle Datenbanken gelten, während die Berechtigungen in Die Datenbanktabelle gilt nur für die angegebene Datenbank. Wenn Sie möchten, dass der Benutzer nur Betriebsberechtigungen für eine bestimmte Datenbank hat, können Sie zunächst die entsprechenden Berechtigungen in der Benutzertabelle auf N setzen und dann die Betriebsberechtigungen für die entsprechende Datenbank in der Datenbanktabelle festlegen.
tables_priv-Tabelle wird verwendet, um Berechtigungen für eine einzelne Tabelle festzulegen, und columns_priv-Tabelle wird verwendet, um Berechtigungen für eine einzelne Datenspalte festzulegen. Die Tabellenstruktur tables_priv wird in der folgenden Tabelle angezeigt:

Keine Host

Dbchar(64)NEIN

Keine

DatenbanknameBenutzerchar(32)NEINKeineBenutzername Tabellenname: char(64) ZeitstempelZeitstempel NEINCURRENT_TIMESTAMPDer Zeitpunkt, zu dem dieser Datensatz geändert wurdeTable_privset('Select','Insert','Update','Delete','
Create','Drop',' Grant“, „References“, „Index“, „Alter“, „Create View“, „Show View“, „Trigger“) , Aktualisieren, Löschen, Erstellen, Löschen, Gewähren, Referenzen, Indizieren und Ändern usw stellt die Spalte in der Tabelle „Vorgangsberechtigungen“ dar, einschließlich Auswählen, Einfügen, Aktualisieren und Referenzen
Die Struktur der Tabelle „columns_priv“ wird in der folgenden Tabelle angezeigt:

NEIN NoneNoneKeine Tabellenname: Datenspalten verfügen über eine Betriebsberechtigung TimestamptimestampNOCURRENT_TIMESTAMPDer Zeitpunkt, zu dem dieser Datensatz geändert wurdeColumn_privset('Select','Insert','Update','References') NEINKeine Gibt die Betriebsberechtigungen für die Spalten in der Tabelle an, einschließlich Auswählen, Einfügen, Aktualisieren und Referenzen . Die Tabellenstruktur von procs_priv Wie in der Tabelle gezeigt: Feldtypchar(60)char(64)char(32)
Host Db char(64) NO
Datenbank. Name Benutzer char(32) NO
Benutzername
Feldname
Ob es leer ist Standardwert Beschreibung Host
NEIN Keine Hostname Db
NEIN Keine Datenbank. Name Benutzer
NEIN

KeineBenutzername

Routine_namechar( 64)enum('FUNCTION','PROCEDURE') NEIN[Verwandt Empfehlungen: 】
NO None gibt den Namen der gespeicherten Prozedur oder Funktion an Routine_type
NO Keine Gibt den Typ der gespeicherten Prozedur oder Funktion an. Das Feld Routine_type hat zwei Werte: FUNCTION und PROCEDURE. FUNKTION bedeutet, dass es sich um eine Funktion handelt; PROZEDUR bedeutet, dass es sich um eine gespeicherte Prozedur handelt. GrantorarChar (93) Nr. GRANT‘)
Keine gibt die Berechtigungen an, die Sie haben, einschließlich der Typen „Ausführen“, „Ändern“ und „Gewähren 3“. MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Berechtigungstabellen von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen May 08, 2024 am 10:24 AM

Fähigkeiten zur Verarbeitung von Big-Data-Strukturen: Chunking: Teilen Sie den Datensatz auf und verarbeiten Sie ihn in Blöcken, um den Speicherverbrauch zu reduzieren. Generator: Generieren Sie Datenelemente einzeln, ohne den gesamten Datensatz zu laden, geeignet für unbegrenzte Datensätze. Streaming: Lesen Sie Dateien oder fragen Sie Ergebnisse Zeile für Zeile ab, geeignet für große Dateien oder Remote-Daten. Externer Speicher: Speichern Sie die Daten bei sehr großen Datensätzen in einer Datenbank oder NoSQL.

Wie optimiert man die MySQL-Abfrageleistung in PHP? Wie optimiert man die MySQL-Abfrageleistung in PHP? Jun 03, 2024 pm 08:11 PM

Die MySQL-Abfrageleistung kann durch die Erstellung von Indizes optimiert werden, die die Suchzeit von linearer Komplexität auf logarithmische Komplexität reduzieren. Verwenden Sie PreparedStatements, um SQL-Injection zu verhindern und die Abfrageleistung zu verbessern. Begrenzen Sie die Abfrageergebnisse und reduzieren Sie die vom Server verarbeitete Datenmenge. Optimieren Sie Join-Abfragen, einschließlich der Verwendung geeigneter Join-Typen, der Erstellung von Indizes und der Berücksichtigung der Verwendung von Unterabfragen. Analysieren Sie Abfragen, um Engpässe zu identifizieren. Verwenden Sie Caching, um die Datenbanklast zu reduzieren. Optimieren Sie den PHP-Code, um den Overhead zu minimieren.

Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP? Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP? Jun 03, 2024 pm 12:19 PM

Das Sichern und Wiederherstellen einer MySQL-Datenbank in PHP kann durch Befolgen dieser Schritte erreicht werden: Sichern Sie die Datenbank: Verwenden Sie den Befehl mysqldump, um die Datenbank in eine SQL-Datei zu sichern. Datenbank wiederherstellen: Verwenden Sie den Befehl mysql, um die Datenbank aus SQL-Dateien wiederherzustellen.

Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein? Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein? Jun 02, 2024 pm 02:26 PM

Wie füge ich Daten in eine MySQL-Tabelle ein? Mit der Datenbank verbinden: Stellen Sie mit mysqli eine Verbindung zur Datenbank her. Bereiten Sie die SQL-Abfrage vor: Schreiben Sie eine INSERT-Anweisung, um die einzufügenden Spalten und Werte anzugeben. Abfrage ausführen: Verwenden Sie die Methode query(), um die Einfügungsabfrage auszuführen. Bei Erfolg wird eine Bestätigungsmeldung ausgegeben.

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 Dec 09, 2024 am 11:42 AM

Eine der wichtigsten Änderungen, die in MySQL 8.4 (der neuesten LTS-Version von 2024) eingeführt wurden, besteht darin, dass das Plugin „MySQL Native Password“ nicht mehr standardmäßig aktiviert ist. Darüber hinaus entfernt MySQL 9.0 dieses Plugin vollständig. Diese Änderung betrifft PHP und andere Apps

Wie verwende ich gespeicherte MySQL-Prozeduren in PHP? Wie verwende ich gespeicherte MySQL-Prozeduren in PHP? Jun 02, 2024 pm 02:13 PM

So verwenden Sie gespeicherte MySQL-Prozeduren in PHP: Verwenden Sie PDO oder die MySQLi-Erweiterung, um eine Verbindung zu einer MySQL-Datenbank herzustellen. Bereiten Sie die Anweisung zum Aufrufen der gespeicherten Prozedur vor. Führen Sie die gespeicherte Prozedur aus. Verarbeiten Sie die Ergebnismenge (wenn die gespeicherte Prozedur Ergebnisse zurückgibt). Schließen Sie die Datenbankverbindung.

Wie erstelle ich eine MySQL-Tabelle mit PHP? Wie erstelle ich eine MySQL-Tabelle mit PHP? Jun 04, 2024 pm 01:57 PM

Das Erstellen einer MySQL-Tabelle mit PHP erfordert die folgenden Schritte: Stellen Sie eine Verbindung zur Datenbank her. Erstellen Sie die Datenbank, falls sie nicht vorhanden ist. Wählen Sie eine Datenbank aus. Tabelle erstellen. Führen Sie die Abfrage aus. Schließen Sie die Verbindung.

Der Unterschied zwischen Oracle-Datenbank und MySQL Der Unterschied zwischen Oracle-Datenbank und MySQL May 10, 2024 am 01:54 AM

Oracle-Datenbank und MySQL sind beide Datenbanken, die auf dem relationalen Modell basieren, aber Oracle ist in Bezug auf Kompatibilität, Skalierbarkeit, Datentypen und Sicherheit überlegen, während MySQL auf Geschwindigkeit und Flexibilität setzt und eher für kleine bis mittlere Datensätze geeignet ist. ① Oracle bietet eine breite Palette von Datentypen, ② bietet erweiterte Sicherheitsfunktionen, ③ ist für Anwendungen auf Unternehmensebene geeignet; ① MySQL unterstützt NoSQL-Datentypen, ② verfügt über weniger Sicherheitsmaßnahmen und ③ ist für kleine bis mittlere Anwendungen geeignet.

See all articles