Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL – Verschiedene Methoden, um den aktuellen Benutzer zu kennen

Es gibt verschiedene Methoden, um den Namen des aktuellen Benutzers in MySQL zu erfahren. Es kann viele Gründe geben, warum wir wissen möchten, wer der aktuelle Benutzer ist. Hier ist eine Liste der wenigen dieser Gründe.

  1. Benutzerdefinierter Code, den wir basierend auf dem Grund ausführen möchten.
  2. Überprüfen der Berechtigungen basierend auf dem Benutzer.
  3. Einfügen des Namens des Benutzers in die Audit-Tabelle.
  4. Anzeige einer speziellen Nachricht basierend auf dem Login-Benutzer.
  5. Ausführen einiger spezieller Logik/Code basierend auf dem angemeldeten Benutzer.

Methode 1: Nutzung von Systemfunktionen

SELECT user();
SELECT current_user();
auswählen

Beide obigen SELECT-Anweisungen geben den Namen des aktuellen Benutzers zurück, der die obigen Anweisungen ausführt.

Methode 2: Verwendung der Systemtabelle

SELECT * from mysql.user;

Das Obige listet alle auf dem Server registrierten Benutzer auf. Es listet auch verschiedene Berechtigungsstufen für die Benutzer auf.

Um nur die Informationen über den aktuellen Benutzer zu erhalten, können Sie verwenden

SELECT * from mysql.user WHERE user() like concat(user,'%');

Sie können auch Synonymfunktionen von user() verwenden

SELECT session_user();
SELECT system_user();

Beides wird das Ergebnis zurückgeben, das auch das Ergebnis von SELECT user() ist.

Wenn Sie in Ihrer Anwendung oder Ihrem Unternehmen ein ähnliches Login verwenden, würde ich gerne wissen, was die geschäftlichen Anforderungen dafür sind. Bitte hinterlassen Sie einen Kommentar.