Answers:
实际上,您需要使用两个功能
SELECT USER(),CURRENT_USER();
USER()报告您如何尝试在MySQL中进行身份验证
CURRENT_USER()报告如何允许您在MySQL中进行身份验证
有时候,它们是不同的
SHOW GRANTS;
以查看所拥有的权限。即使您看不到USAGE
,您仍然需要注意某些测试数据库可以100%被匿名用户访问。见我的文章MySQL : Why are there “test” entries in mysql.db?
(dba.stackexchange.com/q/13361/877)
SHOW GRANTS
,奇怪的是,尽管阅读了许多Mysql教程,但我并没有偶然发现它。
我找到了这个user()函数
选择user(); 将显示您已登录的用户。
mysql -ulalala
地方登录mysqllalala
,将被允许以“匿名” mysql用户身份登录''@'localhost'
。在这种情况下,函数的返回值为USER()= lalala@localhost
和CURRENT_USER() = @localhost