Comment voir quel utilisateur je suis connecté comme dans MySQL?


33

J'ai ouvert plusieurs sessions de console de texte et je me connecte en tant qu'utilisateur différent à différentes consoles. J'oublie peu après quelle console appartient à quel utilisateur, ce serait bien de ne pas être obligé de quitter et de se reconnecter.

Comment voir quel utilisateur je suis connecté en tant que?

Existe-t-il un moyen de changer l'utilisateur avec lequel je me suis connecté avec la déconnexion?

Réponses:


40

En fait, vous devez utiliser deux fonctions

SELECT USER(),CURRENT_USER();

USER () indique comment vous avez tenté de vous authentifier dans MySQL.

CURRENT_USER () indique comment vous avez été autorisé à vous authentifier dans MySQL.

Parfois, ils sont différents


par exemple. si vous vous connectez à MySQL via mysql -ulalalalequel l' lalalautilisateur n'existe pas, vous serez autorisé à se connecter en tant qu'utilisateur mysql « anonyme », à savoir ''@'localhost'. Dans ce cas, les retours de fonctions seraient USER()= lalala@localhostetCURRENT_USER() = @localhost
Dimitry K

2
@DimitryK Lorsque cela se produit, vous pouvez exécuter SHOW GRANTS;pour voir quelles autorisations vous avez. Même si vous ne voyez rien excepté USAGE, vous devez toujours savoir que certaines bases de données de test sont accessibles à 100% à un utilisateur anonyme. Voir mon post MySQL : Why are there “test” entries in mysql.db?( dba.stackexchange.com/q/13361/877 )
RolandoMySQLDBA

+1 pour SHOW GRANTS, étrange que je ne sois pas tombé dessus en lisant de nombreux tutoriels Mysql.
Dimitry K

2

J'ai trouvé cette fonction utilisateur ()

sélectionnez l'utilisateur (); Vous montrera quel utilisateur est connecté.


Ce lien fonctionne-t-il toujours pour vous? J'ai décidé de faire un lien vers le cache de Google en raison de la rupture de mysql -> oracle.
PriceChild

Cela fonctionne, il a une autre fonction intéressante ainsi que choisir la base de données (); va vous montrer votre base de données actuellement sélectionnée.
nelaaro

C'est vraiment énervant, je me demande pourquoi cela ne fonctionne pas pour moi. Merci.
PriceChild




0

Vous pouvez utiliser 'status':

MariaDB [my_database]> status

Utilisateur actuel: root @ localhost

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.