Heim  >  Artikel  >  Datenbank  >  Wo ist die Benutzertabelle von MySQL?

Wo ist die Benutzertabelle von MySQL?

青灯夜游
青灯夜游Original
2022-11-08 18:17:134259Durchsuche

Die Benutzertabelle befindet sich in einer Datenbank namens „mysql“. MySQL erstellt während der Installation automatisch eine Datenbank mit dem Namen „mysql“. Die Benutzertabelle ist die wichtigste Berechtigungstabelle in der MySQL-Datenbank und wird zum Aufzeichnen der Konten verwendet, die eine Verbindung zum Server herstellen dürfen. Alle in der Benutzertabelle aktivierten Berechtigungen sind global und gelten für alle Datenbanken.

Wo ist die Benutzertabelle von MySQL?

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

Die Benutzertabelle befindet sich in einer Datenbank namens „mysql“.

MySQL erstellt während der Installation automatisch eine Datenbank mit dem Namen MySQL. Die MySQL-Datenbank speichert Benutzerberechtigungstabellen. Nachdem sich der Benutzer angemeldet hat, erteilt MySQL jedem Benutzer entsprechende Berechtigungen basierend auf dem Inhalt dieser Berechtigungstabellen.

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.

Wo ist die Benutzertabelle von MySQL?Wo ist die Benutzertabelle von MySQL?

Felder in der Benutzertabelle

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

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.

Die Benutzerliste für MySQL Version 5.7 ist in Tabelle 1 dargestellt.

Tabelle 1: Benutzerspalte der Benutzertabelle
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 und diese drei Felder gleichzeitig übereinstimmen, erlaubt ihm das MySQL-Datenbanksystem die Anmeldung. 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 usw.;
  • Hauptsächlich 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. Die einzigen möglichen Werte sind Y und N: Y bedeutet, dass der Benutzer verfügt über die entsprechenden Berechtigungen, und N bedeutet, dass der Benutzer über die entsprechenden Berechtigungen verfügt. Es gibt keine entsprechenden Berechtigungen. Aus Sicherheitsgründen ist der Standardwert für diese Felder N.

NEIN NEIN Kann er die Befehle „Select into Outfile“ und „Load Data Infile“ ausführen Können Sie Ihre Berechtigungen anderen Benutzern erteilen? Ist es möglich, Fremdschlüsseleinschränkungen zu erstellen? enum('N','Y')enum('N ','Y')enum('N','Y')enum('N',' Y')Repl_slave_privRepl_client_priv Create_view_privenum('N ','Y')enum('N','Y')enum('N','Y')enum('N','Y')NEINN Ist es möglich, Trigger zu erstellen und zu löschen? Ist es möglich, einen Tablespace zu erstellen

Wenn Sie Berechtigungen ändern möchten, können Sie die GRANT-Anweisung verwenden, um dem Benutzer einige Berechtigungen zu erteilen, oder Sie können 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 in Tabelle 3 dargestellt:

Tabelle 2: Berechtigungsspalte der Benutzertabelle
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
account_lockedenum ('N','Y' )NEINNOb der Benutzer gesperrt ist (Y gesperrt, N entsperrt)RessourcenkontrollspalteDie 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 3: Sicherheitsspalte der Benutzertabelle
Feldname Feldtyp Ob es leer ist Standardwert Beschreibung
ssl_type enum('','ANY','X509','SPECIFIED') NEIN Unterstütztes SSL-Standard-Verschlüsselungssicherheitsfeld
ssl_cipher blob NEIN Unterstütztes SSL-Standard-Verschlüsselungssicherheitsfeld
x509_issuer blob NEIN Unterstützt x509-Standardfelder
x509_subject Blob NEIN Unterstützt x509-Standardfelder
plugin char(64) NEIN mysql_n ative_password Führt Plugins zur Passwortüberprüfung ein, wenn Benutzer eine Verbindung herstellen, Plugins erstellen externe /Proxy-Benutzer
password_expired enum('N','Y') NO N Ist das Passwort abgelaufen (N ist nicht abgelaufen, y ist abgelaufen)
password_last_changed Zeitstempel JA Notieren Sie die Zeit, zu der das Passwort zuletzt geändert wurde.
password_lifetime
Hinweis: Auch wenn „password_expired“ „Y“ ist, kann der Benutzer das weiterhin verwenden Passwort für die Anmeldung bei MySQL, es sind jedoch keine Vorgänge erlaubt. 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.

Tabelle 4: Ressourcenkontrollspalte der Benutzertabelle

Feldname

Feldtyp


Ob leer

Standardwertmax_questionsint (11) unsigniert NEIN 0Gibt die Anzahl der pro Stunde zulässigen Abfragevorgänge anmax_updatesint(11) unsignedNEIN0Gibt die Anzahl der pro Stunde zulässigen Aktualisierungsvorgänge anmax_ Verbindungen int(11) unsignedNO0Gibt die Anzahl der Verbindungsvorgänge an, die pro Stunde ausgeführt werden dürfen Anzahl von Verbindungen dürfen gleichzeitig hergestellt werdenSo greifen Sie auf die Benutzertabelle zu1. Stellen Sie eine Verbindung zur MySQL-Datenbank her und zeigen Sie alle Standarddatenbankinformationen anNachdem Sie die Datenbank gewechselt haben, können Sie alle Datentabellen in der Datenbank über den show-Befehl anzeigen. Am Ende können Sie die Benutzerdatentabelle sehen
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.
2. Da die Benutzertabelle in der MySQL-Datenbank vorhanden ist, können Sie die Datenbank wechseln über den use-Befehl


Sie können Zeigen Sie die Strukturinformationen der Benutzertabelle über den Befehl desc an, da die Benutzertabelle enthält. Es gibt mehr Informationen, also mehr Strukturinformationen

In dem Fall, in dem standardmäßig keine anderen Benutzer erstellt werden, gibt es nur die Informationen zum Superadministrator

Wo ist die Benutzertabelle von MySQL?[Verwandte Empfehlungen:

MySQL-Video-Tutorial

]

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

Stellungnahme:
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