[英]Is there a query to know if a particular privilege has been granted for a mysql user?
我知道SHOW GRANTS
可用于查找特定用户的所有权限,但如果我只想知道当前用户是否拥有RELOAD
权限呢? 是否有一个查询,它只会返回真/假? 还是从SHOW GRANTS FOR CURRENT USER
解析字符串结果是唯一的方法?
测试
SELECT Reload_priv
FROM mysql.user
WHERE user = SUBSTRING_INDEX(USER(), '@', 1) COLLATE utf8_general_ci
AND host = SUBSTRING_INDEX(USER(), '@', -1) COLLATE utf8_general_ci;
仅当mysql.user
中的用户指定了明确的主机(即不使用任何模式/掩码)时才有效。 即,如果用户foo
使用mysql.user
中的foo@%
值验证为foo@localhost
,则将找不到任何行。
如果需要,调整排序规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.