2010-10-07 92 views
6

任何人都知道mySQL語法來顯示特定用戶有權在mySQL數據庫中看到的數據庫名稱?假設用戶是'dimitris'在'localhost'訪問數據庫,那麼看到他有權選擇,更新,插入等所有數據庫的語法是什麼?mySQL顯示用戶數據庫

季米特里斯

回答

3

你可以讓你訪問數據庫的名單搭配:

SHOW DATABASES; 

如果你想要得到的名單比你登錄的用戶進行一些其他的用戶,您必須查詢mysql.db表。

+0

感謝您的快速回答傢伙。這正是我需要的! – Sfairas 2010-10-07 13:17:26

+0

缺少有關'mysql.db'查詢應該是什麼的信息。出於這個原因,我認爲Lekensteyn的答案更完整。 – inspirednz 2018-03-07 01:32:57

9

對於當前登錄的用戶,您可以使用SHOW DATABASES;。但是,如果用戶具有SHOW DATABASES;權限,即使他無權訪問它,他也將能夠看到所有數據庫。 (reference

假設您已經閱讀訪問mysql.db表,你可以使用:

SELECT * FROM mysql.db WHERE User="dimitris"; 

這將返回結果集,與Host(例如localhost),Db(例如,somedatabase),User (例如dimitris)以及該數據庫的權限(Select_priv,Update_priv等)

+0

謝謝。比接受的答案更完整的答案。投票。 – inspirednz 2018-03-07 01:33:19