如何查看以MySQL登录的用户?


34

我打开了多个文本控制台会话,并以不同的用户身份登录到不同的控制台。我忘记了以后哪个控制台属于哪个用户,最好不要退出并重新登录。

如何查看我以哪个用户身份登录?

有没有一种方法可以像注销注销一样更改我登录的用户?

Answers:


42

实际上,您需要使用两个功能

SELECT USER(),CURRENT_USER();

USER()报告您如何尝试在MySQL中进行身份验证

CURRENT_USER()报告如何允许您在MySQL中进行身份验证

有时候,它们是不同的


例如。如果您通过不存在用户的mysql -ulalala地方登录mysql lalala,将被允许以“匿名” mysql用户身份登录''@'localhost'。在这种情况下,函数的返回值为 USER()= lalala@localhostCURRENT_USER() = @localhost
Dimitry K

2
@DimitryK发生这种情况时,您可以运行SHOW GRANTS;以查看所拥有的权限。即使您看不到USAGE,您仍然需要注意某些测试数据库可以100%被匿名用户访问。见我的文章MySQL : Why are there “test” entries in mysql.db?dba.stackexchange.com/q/13361/877
RolandoMySQLDBA

+1代表SHOW GRANTS,奇怪的是,尽管阅读了许多Mysql教程,但我并没有偶然发现它。
Dimitry K

2

我找到了这个user()函数

选择user(); 将显示您已登录的用户。


该链接仍然对您有用吗?由于mysql-> oracle损坏,我决定链接到Google的缓存。
昂贵的

它确实可以工作,它还有另一个有趣的功能以及select database();。将显示您当前选择的数据库。
nelaaro 2011年

真的很烦,我想知道为什么它对我不起作用。谢谢。
昂贵的


不,把我送到search.oracle.com/search/...
挺高


0

您可以使用“状态”:

MariaDB [my_database]>状态

当前用户:root @ localhost

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.