MySQL hat eine Benutzertabelle. Die Benutzertabelle ist eine Berechtigungstabelle in MySQL, die zum Aufzeichnen von Kontoinformationen verwendet wird, die eine Verbindung zum Server herstellen dürfen. Die Felder in der Benutzertabelle können grob in vier Kategorien unterteilt werden, nämlich Benutzerspalten, Berechtigungsspalten, Sicherheitsspalten und Ressourcensteuerung Spalten.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL5.7-Version, Dell G3-Computer.
MySQL hat eine Benutzertabelle.
Die Benutzertabelle ist die wichtigste Berechtigungstabelle in MySQL und wird zum Aufzeichnen von Kontoinformationen verwendet, 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. Im Folgenden wird hauptsächlich die Bedeutung dieser Felder vorgestellt.
Benutzerspalte
In der Benutzerspalte werden die Informationen gespeichert, 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.
Die Benutzerliste für MySQL Version 5.7 ist in Tabelle 1 dargestellt.
Feldname | Feldtyp | Ist es leer | Standardwert | Beschreibung |
---|---|---|---|---|
Host | char(60) | NEIN | Keine | Hostname |
Benutzer | char(32) | NEIN | Keine | Benutzername |
Authentifizierungszeichenfolge | Text | JA | N ein | Passwort |
Wenn sich ein Benutzer anmeldet, erlaubt ihm das MySQL-Datenbanksystem nur dann die Anmeldung, wenn diese drei Felder gleichzeitig übereinstimmen. Beim Anlegen eines neuen Benutzers werden auch die Werte dieser drei Felder festgelegt. Wenn Sie das Kennwort eines Benutzers ändern, ändern Sie tatsächlich den Wert des Felds „authentication_string“ der Benutzertabelle. Daher bestimmen diese 3 Felder, ob sich der Benutzer anmelden kann.
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.
Feldname | Feldtyp | Ob leer | Standardwert | Beschreibung | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Select_priv | enum('N','Y' ) ?? INSERT-Befehl 'Y') | NEIN | N | Ist es möglich, vorhandene Daten über den DELETE-Befehl zu löschen? um neue Datenbanken und Tabellen zu erstellen. N','Y') | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
N | Ist es möglich, bestimmte Befehle auszuführen, um die verschiedenen von MySQL verwendeten internen Caches zu leeren und neu zu laden, einschließlich Protokolle, Berechtigungen, Hosts, Abfragen und Tabellen | Shutdown_priv | enum('N','Y') | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N | Ist es möglich, den MySQL-Server herunterzufahren? Sie sollten sehr vorsichtig sein, wenn Sie diese Berechtigung einem anderen Benutzer als dem Root-Konto erteilen PROCESSLIST-Befehl Der Prozess anderer Benutzer leFile_priv | enum ('n', 'y') | Nein | n | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Grant_priv | enum (' 'N','Y') | NEIN | N | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NEIN | N | Ist es möglich, Prüfungen zum Hinzufügen und Löschen des Index durchzuführen? umbenannt und geändert | Show_db_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | Kann der Server angezeigt werden? Name aller Datenbanken auf | Super_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NEIN | N | Ist es möglich, bestimmte leistungsstarke Verwaltungsfunktionen auszuführen, z. B. solche, für die der Benutzer über ausreichende Zugriffsrechte verfügt? Verwenden Sie den Befehl SET GLOBAL um globale MySQL-Variablen zu ändern und verschiedene Befehle zur Replikation und Protokollierung auszuführen. (Super-Berechtigungen) | Create_tmp_table_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NEIN | N | Ist es möglich, temporäre Tabellen zu erstellen | Lock_tables_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NEIN | N | Ist es möglich, den Befehl LOCK TABLES zu verwenden, um den Zugriff/die Änderung von Tabellen zu verhindern? | Ob die gespeicherte Prozedur | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enum('N','Y') | NEIN | N | die Binärprotokolldatei lesen kann, die zum Verwalten einer replizierten Datenbankumgebung verwendet wird | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enum( 'N','Y') | NEIN | N | Ist es möglich, den Standort des Replikations-Slave-Servers und des Master-Servers zu bestimmen | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enum('N','Y' ) | NEIN | N | Ist es möglich, eine Ansicht zu erstellen? | Create_routine_priv | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
NEIN | N | Können gespeicherte Prozeduren und Funktionen geändert oder verworfen werden | Alter_routine_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NEIN | N | Kann der Speicher geändert oder gelöscht werden? Funktionen und Funktionen | Create_user_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NEIN | N | Ob es möglich ist, CREATE USER auszuführen Befehl, der zum Erstellen eines neuen MySQL-Kontos verwendet wird. | Event_priv | enum('N','Y')||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N | Ist es möglich, Trigger zu erstellen und zu löschen? | Ist es möglich, einen Tablespace zu erstellen |
Feldname | Feldtyp | Ist es leer? | Standardwert | Beschreibung |
---|---|---|---|---|
ssl_type | enum('','ANY','X509','SPECIFIED') | NEIN | Unterstützte SSL-Standardverschlüsselungssicherheit. Feld | |
x509_issuer | blob | NEIN | Unterstützt den x509-Standard Felder: x509_subject _password | |
password_expired | enum('N','Y') | NO | N | |
password_last_changed | Zeitstempel | JA | ||
password_lifetime | smallint(5) unsigned | JA | ||
account_locked | enum('N','Y ') | NEIN | N | |
Hinweis: Auch wenn „password_expired“ „Y“ ist, kann der Benutzer dies tun Verwenden Sie das Kennwort auch, um sich bei MySQL anzumelden, dürfen Sie jedoch keine Vorgänge ausführen. | 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. | |||
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. | Tabelle 4: Ressourcenkontrollspalte der Benutzertabelle | |||
Feldtyp | Ob leer | Standardwert | Beschreibung |
0Gibt die Anzahl der pro Stunde zulässigen Abfragevorgänge an.NEIN
max_updates
int(11) unsignedNOint (11) ohne Vorzeichen dürfen gleichzeitig eingerichtet werden | Der Standardwert der 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. | 【Verwandte Empfehlung: | MySQL-Video-Tutorial | 】
---|
Das obige ist der detaillierte Inhalt vonHat MySQL eine Benutzertabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!