Heim  >  Artikel  >  Datenbank  >  MySQL hat keine MySQL-Tabelle

MySQL hat keine MySQL-Tabelle

WBOY
WBOYOriginal
2023-05-23 11:09:07585Durchsuche

MySQL ist ein relationales Datenbankverwaltungssystem und eine der beliebtesten Open-Source-Datenbanken der Welt. In MySQL existiert die Tabelle mit dem Namen „mysql“ jedoch nicht wirklich. In diesem Artikel werden die Systemdatenbank und Systemtabellen in MySQL und ihre Funktionen vorgestellt.

1. Systemdatenbank

Die Systemdatenbank in MySQL umfasst:

  1. mysql: speichert Informationen über den MySQL-Server selbst, z als Operatoren, Berechtigungen und Systemvariablen.
  2. information_schema: Stellt Metadateninformationen für alle aktuellen Datenbanken und Tabellen bereit. Informationen zu den Spalten und Indizes jeder Tabelle finden Sie beispielsweise in information_schema.
  3. performance_schema: Bietet Leistungsmessungstools für MySQL-Server. Es enthält Leistungsstatistiken zu verschiedenen Aspekten des MySQL-Servers, z. B. ausgeführte Abfragen, verwendete Tabellen und Indizes usw.
  4. sys: Verwandeln Sie Ansichten von MySQL-Metadaten in benutzerfreundliche Abfragen. Sys wurde entwickelt, um Datenbankadministratoren und Entwicklern einen einfachen und bequemen Zugriff auf MySQL-Metadateninformationen zu ermöglichen.

Die oben genannten Systemdatenbanken sind in MySQL sichtbar und Sie können sie über den Befehl SHOW DATABASES abfragen.

2. Systemtabellen

In der MySQL-Systemdatenbank gibt es viele Systemtabellen. Hier sind einige der Systemtabellen und ihre Funktionen:

  1. Benutzer- und berechtigungsbezogene Systemtabellen

mysql.user: speichert das MySQL-Benutzerkonto und Informationen zur Sicherheitszugriffsebene. Dazu gehören der Name des Benutzers, die Hostadresse, das Passwort usw. Es handelt sich um eine wichtige Tabelle im Hinblick auf die Berechtigungsverwaltung.

mysql.db: Enthält die Datenbankberechtigungen des Benutzers. Es listet die Benutzer auf, die auf die Datenbank und die Tabellen zugreifen dürfen. (Einschließlich spezifischer Hostadressen)

mysql.host: Es speichert den Hostnamen und die entsprechenden Regeln für die Rückgabe der Client-IP-Adresse

mysql.roles und mysql.role_edges: Es wurde in mysql8.0 eingeführt und wird zur Integration von Rollendetails verwendet. Geben Sie den Datenbanknamen, den Tabellennamen, den Tabellentyp (z. B. Tabelle, Ansicht oder Systemtabelle), die Tabellen-Engine, den Zeitpunkt der Tabellenerstellung und mehr an.

    information_schema.columns: Listet detaillierte Informationen zu jeder Spalte der Tabelle auf, z. B. Spaltenname, Datentyp, ob NULL zulässig ist, den Standardwert der Spalte und mehr.
  1. information_schema.indexes: Indexinformationen anzeigen. Einschließlich Indexname, Informationen darüber, ob der Index eindeutig ist, enthaltene Spalten, Indextyp usw.

mysql.proc: Enthält Informationen zu gespeicherten Prozeduren und Funktionen, wie Prozedurname, Parameter, Code usw.

mysql.event: Enthält geplante Ereignisse (d. h. reguläre Jobs), wie z. B. Ereignisname, Startzeit, Zykluszeit usw.

Ansichten, Funktionen und mehr im Systemschema: Verwandeln Sie Ansichten von MySQL-Metadaten in benutzerfreundliche Abfragen. Beispielsweise gibt es in der sys-Bibliothek eine Ansicht „schema_table_statistics“, die Statistiken für verschiedene Tabellen und Indizes enthält.

Aus den oben genannten Systemtabellen geht klar hervor, dass MySQL-Systeminformationen hauptsächlich Benutzer- und Berechtigungen sowie datenbank- und tabellenbezogene Informationen umfassen.

Zusammenfassend: Obwohl es in MySQL keine Tabelle mit dem Namen „mysql“ gibt, gibt es in MySQL viele Systemdatenbanken und Tabellen, die Informationen zum MySQL-Server und Datenbankmetadaten speichern. Das Verständnis dieser Systemdatenbanken und -tabellen kann Ihnen helfen, MySQL besser zu verstehen.

Das obige ist der detaillierte Inhalt vonMySQL hat keine MySQL-Tabelle. 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