任何人都知道mySQL語法來顯示特定用戶有權在mySQL數據庫中看到的數據庫名稱?假設用戶是'dimitris'在'localhost'訪問數據庫,那麼看到他有權選擇,更新,插入等所有數據庫的語法是什麼?mySQL顯示用戶數據庫
季米特里斯
任何人都知道mySQL語法來顯示特定用戶有權在mySQL數據庫中看到的數據庫名稱?假設用戶是'dimitris'在'localhost'訪問數據庫,那麼看到他有權選擇,更新,插入等所有數據庫的語法是什麼?mySQL顯示用戶數據庫
季米特里斯
你可以讓你訪問數據庫的名單搭配:
SHOW DATABASES;
如果你想要得到的名單比你登錄的用戶進行一些其他的用戶,您必須查詢mysql.db
表。
對於當前登錄的用戶,您可以使用SHOW DATABASES;
。但是,如果用戶具有SHOW DATABASES;
權限,即使他無權訪問它,他也將能夠看到所有數據庫。 (reference)
假設您已經閱讀訪問mysql.db
表,你可以使用:
SELECT * FROM mysql.db WHERE User="dimitris";
這將返回結果集,與Host
(例如localhost
),Db
(例如,somedatabase
),User
(例如dimitris
)以及該數據庫的權限(Select_priv
,Update_priv
等)
謝謝。比接受的答案更完整的答案。投票。 – inspirednz 2018-03-07 01:33:19
感謝您的快速回答傢伙。這正是我需要的! – Sfairas 2010-10-07 13:17:26
缺少有關'mysql.db'查詢應該是什麼的信息。出於這個原因,我認爲Lekensteyn的答案更完整。 – inspirednz 2018-03-07 01:32:57