MySQL erhalten Sie Liste der Benutzerkonten

MySQL erhalten Sie Liste der Benutzerkonten

Als Datenbankadministrator begegnen Sie Instanzen, in denen Sie die Benutzer auf einem MySQL -Server kennen müssen. Auf diese Weise können Sie wissen, welche Benutzer bestimmte Aufgaben ausführen und ihre Berechtigungen verwalten können.

In diesem Tutorial wird die Methode zum Abrufen der in einem MySQL -Server verfügbaren Benutzer untersucht.

Anforderungen

Bevor wir mit diesem Tutorial beginnen, gehen wir davon aus, dass Sie:

  1. Die neueste Version von MySQL Server wurde auf Ihrem System installiert.
  2. Zugriff auf die MySQL -Shell -Sitzung.

Schritt 1 - Melden Sie sich bei MySQL an

Sie greifen auf Ihre MySQL -Shell zu, um Benutzer auf Ihrem MySQL -Server anzuzeigen und zu verwalten.

Befehlssyntax:

$ mysql -u -P

Ersetzen Sie den Benutzernamen durch den Zielbenutzer, den Sie anmelden möchten.

Zum Beispiel als Root ausführen:

$ mysql -u root -p

Geben Sie das Passwort des Benutzernamens ein. Sobald Sie erfolgreich authentifiziert sind, sollten Sie die SQL -Shell wie gezeigt fallen:

Hier können Sie anfangen, SQL -Befehle auszuführen und die resultierende Ausgabe anzusehen.

Benutzer in MySQL auflisten

Leider bietet MySQL keinen nativen Befehl show -Benutzer, den wir verwenden können. Dies bedeutet, dass wir damit herumspielen müssen, wie MySQL Informationen speichert.

Zum Beispiel verwendet MySQL die MySQL.Benutzertabelle zum Speichern von Benutzerinformationen. Wir können dann die in dieser Tabelle gespeicherten Informationen verwenden, um verschiedene Informationen abzurufen.

MySQL zeigen allen Benutzern

Lassen Sie uns zunächst diskutieren, wie alle Benutzer abgerufen werden können. Führen Sie die Abfrage aus:

WÄHLEN
Benutzer
AUS
Mysql.Benutzer;

Der Befehl ruft die Benutzerspalte aus dem MySQL ab.Benutzertabelle und geben Sie die Ergebnisse wie gezeigt zurück:

Aus der obigen Ausgabe sehen wir verschiedene Benutzer wie Root, MySQL.sysql.Sitzung usw.

Denken Sie daran, dass für den obigen Befehl möglicherweise Sie Datenbanken ändern müssen. Wenn Sie die "Abfrage 1: Tabelle" MySQL erhalten.Benutzer „existiert nicht“ Fehler. Führen Sie den folgenden Befehl aus, um Datenbanken zu wechseln.

> Verwenden Sie MySQL

Sobald Sie die Liste der Benutzer auf dem Server erhalten haben, können Sie Informationen über den Benutzer verwenden, die Befehle wie Desc verwenden.

Benutzer mit aktiver Sitzung anzeigen

Wir können auch eine Liste von Benutzern mit aktiven Sitzungen mithilfe der Datenbank von Information_Schema erhalten. Diese Datenbank speichert Informationen über den Server und die aktuellen Sitzungen.

Führen Sie den Befehl aus:

Der obige Befehl wird den Benutzernamen, den Host und die Datenbank aus der Tischprozesslisttabelle abrufen. Dies zeigt den aktuellen Benutzernamen, den Host, aus dem sich der Client verbindet, und die Datenbank, mit der er verbunden ist.

Ein Beispielausgang ist wie gezeigt:

Aus der obigen Ausgabe sehen wir derzeit drei Benutzer angeschlossen. Denken Sie daran, dass der gleiche Benutzername, aber ein anderer Wirt als anderer Benutzername behandelt wird.

Aktueller Benutzer anzeigen

Manchmal müssen Sie möglicherweise schnelle Informationen über den aktuellen Benutzer sammeln. Glücklicherweise hat MySQL eine user () -Funktion, die den aktuell angemeldeten Benutzer zurückgibt.

Ein Beispiel ist wie gezeigt:

WÄHLEN
Benutzer();

Der Befehl sollte die aktuellen Benutzerinformationen als:

Verwenden Sie Verwendungen mit Zugriff auf eine bestimmte Datenbank

Angenommen, Sie möchten den Benutzernamen mit Zugriff auf ein Ziel -DB bestimmen? Sie können die DB -Tabelle und den Filter für diesen bestimmten Benutzernamen verwenden.

Nehmen Sie die Code -Illustration unten:

WÄHLEN
*
AUS
Mysql.db
WO
Db = 'sys' \ g;

Der obige Befehl gibt den Benutzer mit jedem Zugriff auf die SYS -Datenbank zurück. Fühlen Sie sich frei, SYS durch den Datenbanknamen zu ersetzen, den Sie bewerten möchten.

Der Befehl gibt eine Ausgabe wie gezeigt zurück:

************************* 1. Reihe ***************************
Host: Localhost
DB: sys
Benutzer: MySQL.sys
Select_priv: n
Insert_priv: n
UPDATE_PRIV: n
Delete_priv: n
Create_priv: n
Drop_priv: n
Grant_priv: n
Referenzen_priv: n
INDEX_PRIV: n
Alter_priv: n
Create_tmp_table_priv: n
Lock_tables_priv: n
Create_view_priv: n
Show_view_priv: n
Create_routine_priv: n
Alter_routine_priv: n
Execute_priv: n
Event_priv: n
Trigger_priv: y
1 Zeile in Set (0.00 Sek.)

Aus der obigen Ausgabe können wir sehen, dass der MySQL.Der SYS -Benutzer verfügt über Auslöser berechtigt in der Datenbank.

Abschluss

Wie in diesem Tutorial dargestellt, können wir verschiedene MySQL -Tabellen und Datenbanken verwenden, um Informationen über die Benutzer abzurufen. Mit dieser leistungsstarken Funktion können Sie Prozeduren und andere benutzerdefinierte Typen erstellen, um Benutzerinformationen zu sammeln.