Ich möchte wissen, ob es für eine MySQL-Abfrage eine Möglichkeit gibt, den Benutzernamen des Benutzers zurückzugeben, der die Abfrage ausgibt.
Ist das möglich?
Probieren Sie die CURRENT_USER()
Funktion aus. Dies gibt den Benutzernamen zurück, mit dem MySQL Ihre Clientverbindung authentifiziert hat. Dieser Benutzername bestimmt Ihre Berechtigungen.
Dies kann sich von dem Benutzernamen unterscheiden, der vom Client an MySQL gesendet wurde (z. B. verwendet MySQL möglicherweise ein anonymes Konto, um Ihren Client zu authentifizieren, obwohl Sie einen Benutzernamen gesendet haben). Wenn Sie den Benutzernamen möchten, den der Client beim Verbinden an MySQL gesendet hat, verwenden Sie USER()
stattdessen die Funktion.
Der Wert gibt den Benutzernamen an, den Sie beim Herstellen einer Verbindung zum Server angegeben haben, und den Client-Host, von dem aus Sie eine Verbindung hergestellt haben. Der Wert kann sich von dem von CURRENT_USER () unterscheiden.
http://dev.mysql.com/doc/refman/5.0/de/information-functions.html#function_current-user
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_USER()' at line 1
CURRENT_USER()
war bei der Frage "Gibt es eine Möglichkeit, * Ihren * aktuellen Benutzernamen in MySQL zu kennen?" Nicht korrekt . Die Antwort war "USER ()", was "Gibt den aktuellen MySQL-Benutzer zurück" ( dev.mysql.com/doc/refman/5.7/en/… ). Sie sollten Ihre Antwort aktualisieren, um vollständiger zu sein. Sie ist viel zu kurz.Versuchen Sie entweder zu laufen
oder
Es kann manchmal anders sein, USER () gibt zurück, mit welchem Login Sie sich authentifizieren wollten, und CURRENT_USER () gibt zurück, wie Sie sich tatsächlich authentifizieren durften.
quelle
Verwenden Sie diese Abfrage:
Oder
quelle
Sie können verwenden:
oder
Weitere Informationen finden Sie hier http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
quelle
um den aktuellen Benutzer zu drucken, der die Datenbank verwendet
oder
quelle
Sie können auch Folgendes verwenden: mysql> Benutzer auswählen, Host von mysql.user;
quelle
Den aktuellen Benutzernamen finden Sie mit der Funktion CURRENT_USER () in MySQL.
zum Beispiel:
SELECT CURRENT_USER();
Aber
CURRENT_USER()
nicht immer Rückkehr der angemeldete Benutzer. Wenn Sie also den angemeldeten Benutzer haben möchten, verwenden SieSESSION_USER()
stattdessen.quelle