簡體   English   中英

是否有查詢以了解是否已為 mysql 用戶授予特定權限?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM